Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
start:samba:scripting [2015/02/24 16:07]
cvan-hoorn angelegt
start:samba:scripting [2015/02/25 07:49] (aktuell)
cvan-hoorn [Advanced Printer Scripting]
Zeile 1: Zeile 1:
-====== Advances Printer Scripting ======+====== Advanced Printer Scripting ======
  
 +**PaperCut** erlaubt, über eine integrierte Skriptsprache Anpassungen am Druckauftrag vornehmen zu können. Die genutzte Skriptsprache ist **JavaScript**. In der Kategorie ''Drucker'' kann für jeden Drucker in dem Reiter ''Skript'' diese Funktion aktiviert werden.
 +
 +Innerhalb der Funktion ''printJobhook'' findet die Programmierung statt. Für allgemeine Anpassungen bietet **PaperCut** vollständige Vorlagen.
 +
 +<code javascript>
 +function printJobHook(inputs, actions) {
 +  // your script here
 +}
 +</code>
 +
 +
 +==== Kostenloses Drucken für Mitarbeiter ====
 +
 +<code javascript>
 +function printJobHook(inputs, actions) {
 +  
 +  var DISCOUNT_GROUP   = "Mitarbeiter";
 +  var DISCOUNT_AMOUNT  = 100;    // 100% Rabatt
 +  
 +  /*
 +  * This print hook will need access to all job details
 +  * so return if full job analysis is not yet complete.
 +  * The only job details that are available before analysis
 +  * are metadata such as username, printer name, and date.
 +  *
 +  * See reference documentation for full explanation.
 +  */
 +  if (!inputs.job.isAnalysisComplete) {
 +    // No job details yet so return.
 +    return;
 +  }
 +  
 +  if (inputs.user.isInGroup(DISCOUNT_GROUP)) {
 +    
 +    // Debug messages are written to [install-path]/server/logs/server.log
 +    actions.log.debug("Cost before discount: " + inputs.job.cost);
 +    
 +    // Give the allocated discount
 +    var newCost = inputs.job.cost - (inputs.job.cost * (DISCOUNT_AMOUNT/100));
 +    actions.job.setCost(newCost);
 +    
 +    actions.log.debug("Cost after discount: " + newCost);
 +    
 +    
 +    // Record that as discount was applied in the job comment.
 +    actions.job.addComment(DISCOUNT_AMOUNT + "% discount applied.");
 +  }
 +}
 +</code>
 +
 +==== Umwandeln von Druckaufträgen aus Online-Druck ====
 +
 +<code javascript>
 +function printJobHook(inputs, actions) {
 +  if (!inputs.job.isAnalysisComplete) {
 +    // No job details yet so return.
 +    return;
 +  }
 +
 +  if (inputs.job.isWebPrintJob) {
 +    actions.job.convertToGrayscale();
 +    actions.job.convertToDuplex()
 +  }
 +}
 +</code>
  
 ===== Web-Links ===== ===== Web-Links =====
start/samba/scripting.1424790433.txt.gz · Zuletzt geändert: 2015/02/24 16:07 von cvan-hoorn
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0