jenkins Posted March 20, 2017 Posted March 20, 2017 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]
jessica Posted March 21, 2017 Posted March 21, 2017 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.'); } } } 1
jenkins Posted March 21, 2017 Author Posted March 21, 2017 Thank you so much. I will give this a try.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now