Dies ist eine alte Version des Dokuments!


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. Alternativ ist es Möglich, eine Vorlage zu importieren und an zu passen.

function printJobHook(inputs, actions) {
  // your script here
}

Kostenloses Drucken für Mitarbeiter

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.");
  }
}

Umwandeln von Druckaufträgen aus Online-Druck

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()
  }
}
start/samba/scripting.1424846835.txt.gz · Zuletzt geändert: 2015/02/25 07:47 von cvan-hoorn
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0