Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
start:samba:scripting [2015/02/24 16:07]
cvan-hoorn [Advances Printer Scripting]
start:samba:scripting [2015/02/25 07:49] (aktuell)
cvan-hoorn [Advanced Printer Scripting]
Zeile 1: Zeile 1:
 ====== Advanced Printer Scripting ====== ====== Advanced Printer Scripting ======
  
-==== Rabatt für Mitarbeiter ====+**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.1424790456.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