Jump to content

Recommended Posts

Posted

Can anyone help me with a papercut script for simplex/duplex print jobs?

 

I would like the user to get a popup if they try to print in simplex asking them to confirm if they want to print in simplex or if they would like to convert to duplex.

 

I tried modifying the convert to gray scale script that I found on here, although the popup appears properly the jobs do not seem to be getting converted to duplex.

 

 

 

This is what I have so far:

[color=#770088][font=monospace]function [/font][/color][color=black][font=monospace]printJobHook[/font][/color][color=#666666][font=monospace]([/font][/color][color=#0000FF][font=monospace]inputs[/font][/color][color=#666666][font=monospace], [/font][/color][color=#0000FF][font=monospace]actions[/font][/color][color=#666666][font=monospace]) [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]  [/font][/color][color=#AA7700][font=monospace]// your code here[/font][/color]
[color=#666666][font=monospace]  [/font][/color][color=#770088][font=monospace]if [/font][/color][color=#666666][font=monospace]([/font][/color][color=#666666][font=monospace]![/font][/color][color=#004499][font=monospace]inputs[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]job[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]isAnalysisComplete[/font][/color][color=#666666][font=monospace]) [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]    [/font][/color][color=#AA7700][font=monospace]// No job details yet so return.[/font][/color]
[color=#666666][font=monospace]    [/font][/color][color=#770088][font=monospace]return[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]  [/font][/color][color=#666666][font=monospace]}[/font][/color]
[color=#666666][font=monospace]  [/font][/color][color=#AA7700][font=monospace]// Test if the job is duplex (double-sided)[/font][/color]
[color=#666666][font=monospace]  [/font][/color][color=#770088][font=monospace]if [/font][/color][color=#666666][font=monospace]([/font][/color][color=#004499][font=monospace]inputs[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]job[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]isDuplex[/font][/color][color=#666666][font=monospace]) [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]    [/font][/color][color=#AA7700][font=monospace]// Add your action code here[/font][/color]
[color=#666666][font=monospace]    [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]log[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]debug[/font][/color][color=#666666][font=monospace]([/font][/color][color=#AA2222][font=monospace]"The print job is double-sided"[/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]  [/font][/color][color=#666666][font=monospace]}[/font][/color]
[color=#666666][font=monospace]  [/font][/color][color=#770088][font=monospace]else [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]    [/font][/color]
[color=#666666][font=monospace]    [/font][/color][color=#770088][font=monospace]var [/font][/color][color=#0000FF][font=monospace]CONVERT_MESSAGE [/font][/color][color=#666666][font=monospace]= [/font][/color][color=#AA2222][font=monospace]'You have printed this job in simplex. Would you like to convert your job to duplex? Selecting "No" will print the job in simplex, Selecting "YES" will change the job to duplex.'[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]    [/font][/color]
[color=#666666][font=monospace]    [/font][/color]
[color=#666666][font=monospace]    [/font][/color]
[color=#666666][font=monospace]    [/font][/color][color=#770088][font=monospace]if [/font][/color][color=#666666][font=monospace]([/font][/color][color=#004499][font=monospace]inputs[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]client[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]isRunning[/font][/color][color=#666666][font=monospace]) [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]      [/font][/color][color=#AA7700][font=monospace]// User is running the client software. Ask if they want to convert to grayscale or cancel.[/font][/color]
[color=#666666][font=monospace]      [/font][/color][color=#770088][font=monospace]var [/font][/color][color=#0000FF][font=monospace]response [/font][/color][color=#666666][font=monospace]= [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]client[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]promptYesNo[/font][/color][color=#666666][font=monospace]([/font][/color][color=#004499][font=monospace]CONVERT_MESSAGE[/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]      [/font][/color]
[color=#666666][font=monospace]      [/font][/color][color=#770088][font=monospace]if [/font][/color][color=#666666][font=monospace]([/font][/color][color=#004499][font=monospace]response [/font][/color][color=#666666][font=monospace]== [/font][/color][color=#AA2222][font=monospace]'YES'[/font][/color][color=#666666][font=monospace]) [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]        [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]log[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]debug[/font][/color][color=#666666][font=monospace]([/font][/color][color=#AA2222][font=monospace]'User chose to convert their job to duplex.'[/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]        [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]job[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]convertToDuplex[/font][/color][color=#666666][font=monospace]([/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]        [/font][/color]
[color=#666666][font=monospace]      [/font][/color][color=#666666][font=monospace]} [/font][/color][color=#770088][font=monospace]else [/font][/color][color=#770088][font=monospace]if [/font][/color][color=#666666][font=monospace]([/font][/color][color=#004499][font=monospace]response [/font][/color][color=#666666][font=monospace]== [/font][/color][color=#AA2222][font=monospace]'TIMEOUT'[/font][/color][color=#666666][font=monospace]) [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]        [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]log[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]debug[/font][/color][color=#666666][font=monospace]([/font][/color][color=#AA2222][font=monospace]'Dialog timed out, canceling job.'[/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]        [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]job[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]cancel[/font][/color][color=#666666][font=monospace]([/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]      [/font][/color][color=#666666][font=monospace]} [/font][/color][color=#770088][font=monospace]else [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]        [/font][/color]
[color=#666666][font=monospace]        [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]log[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]debug[/font][/color][color=#666666][font=monospace]([/font][/color][color=#AA2222][font=monospace]'User chose to keep on printing in simplex'[/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]        [/font][/color]
[color=#666666][font=monospace]      [/font][/color][color=#666666][font=monospace]}[/font][/color]
[color=#666666][font=monospace]    [/font][/color][color=#666666][font=monospace]} [/font][/color][color=#770088][font=monospace]else [/font][/color][color=#666666][font=monospace]{[/font][/color]
[color=#666666][font=monospace]      [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]log[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]debug[/font][/color][color=#666666][font=monospace]([/font][/color][color=#AA2222][font=monospace]'Canceling job due to simplex pages and user not running client software.'[/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]      [/font][/color][color=#004499][font=monospace]actions[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]job[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]cancel[/font][/color][color=#666666][font=monospace]([/font][/color][color=#666666][font=monospace])[/font][/color][color=#666666][font=monospace];[/font][/color]
[color=#666666][font=monospace]    [/font][/color][color=#666666][font=monospace]}[/font][/color]
[color=#666666][font=monospace]  }[/font][/color]
[color=#666666][font=monospace]  [/font][/color]
[color=#666666][font=monospace]}[/font][/color]

pcut.png

Posted

This is our script asking if you want to convert to duplex.

 

/*
* Offer to convert jobs with a high number of pages to duplex
*
* When jobs with a high number of pages are printed (e.g. >50), users will be
* asked via the client tool if they would like their job converted to duplex,
* thereby saving paper.  Users who are not running the client tool will have
* their jobs printed without any changes.
*/
function printJobHook(inputs, actions) {
 // the maximum number of pages before offering to convert to duplex
 var MAX_PAGES = 3;
 // message displayed to the user asking if they would like to convert they job
 // to duplex
 var CONVERT_MESSAGE = 'Would you like to save paper & money by converting it to duplex (double sided)?';
 
 /*
 * This script will need access to the number of pages in the job, which is
 * available after job analysis is complete. If job analysis is not complete
 * we exit here. See the user manual for more details.
 */
 if (!inputs.job.isAnalysisComplete) {
   return;
 }
 
 if (inputs.job.totalPages > MAX_PAGES && !inputs.job.isDuplex) {
   if (inputs.client.isRunning) {
     actions.log.debug('Offering user to convert their job to duplex.');
     
     // User is running the client software. Ask if they want to convert to
     // duplex or cancel.
     var response = actions.client.promptYesNo(CONVERT_MESSAGE);
     
     if (response == 'YES') {
       actions.log.debug('User chose to convert their job to duplex.');
       actions.job.convertToDuplex();
     } else if (response == 'NO') {
       actions.log.debug('User chose not to convert their job to duplex.');
     }
   } else {
     actions.log
       .debug("Didn't offer to convert job to duplex as user is not " +
              'running the client software.');
   }
 }
}

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...