danielcoleman90
Members-
Posts
4 -
Joined
-
Last visited
Reputation
0 NeutralAbout danielcoleman90

Personal Information
-
Location
United Kingdom
-
Good Afternoon, we are looking to implement a script where only one user can avoid the convert all emails to greyscale rule. When i print the user who i want to be able to print in colour does so, however so does everyone else! so it is as though the rule is being ignored now! Is someone able to have a quick look over my script and let me know where i have gone wrong? i am assuming it is something simple that i have put in the wrong place! /* * Convert all email printing to grayscale except one user. * * Implement an organization wide policy that no emails should be printed in * color. Often emails contain color in links or headers that adds no value. * This script automatically converts all emails (printed from Outlook) to * grayscale. This script will enable 1 or multiple users to be able to print in colour. */ function printJobHook(inputs, actions) { if (!inputs.job.isAnalysisComplete) { return; if (inputs.job.username == "d_coleman"){ return; } /* * Set this to the unique text that appears in the print queue when emails are * printed by your organization's email client. This script will work with * email applications that use a specific identifiable string in the job * title. If the application only uses the email title for instance then this * approach will not work. */ var EMAIL_APPLICATION_TITLES = [ 'Microsoft Outlook', 'Microsoft Office Outlook', 'outbind://' ]; // see if the document name matches any of the known email titles if (matchesAny(inputs.job.documentName, EMAIL_APPLICATION_TITLES)) { // this job is an email, convert it to grayscale (no harm done if the job is // already grayscale) actions.job.convertToGrayscale(); // if the user is running the client tool we'll send them a courtesy message // to let them know if (inputs.client.isRunning) { actions.client .sendMessage('Your email has been automatically converted to ' + 'grayscale.'); } } } function matchesAny(str, matchStrs, actions) { if (str == null || matchStrs == null) { return false; } for ( var i in matchStrs) { if (str.match(matchStrs[i])) [color=#88FF88][b]{[/b][/color] return true; [color=#88FF88][b]}[/b][/color] } return false; } }
-
Perfect! Thank you ever so much!!!
-
Hi, thank you for coming back to me. What i am trying to do is initially convert all emails to black and white as part 1 of the rule, then the second part if the job still has colour prompt them to consider changing to black and white. The job is converted to black and white fine for the email, however i am still getting a pop up asking if i want the email printed in colour or black and white. /** Convert all email printing to grayscale * * Implement an organization wide policy that no emails should be printed in * color. Often emails contain color in links or headers that adds no value. * This script automatically converts all emails (printed from Outlook) to * grayscale. */ function printJobHook1(inputs, actions) { /* * Set this to the unique text that appears in the print queue when emails are * printed by your organization's email client. This script will work with * email applications that use a specific identifiable string in the job * title. If the application only uses the email title for instance then this * approach will not work. */ var EMAIL_APPLICATION_TITLES = [ 'Microsoft Outlook', 'Microsoft Office Outlook', 'outbind://' ]; // see if the document name matches any of the known email titles if (matchesAny(inputs.job.documentName, EMAIL_APPLICATION_TITLES)) { // this job is an email, convert it to grayscale (no harm done if the job is // already grayscale) actions.job.convertToGrayscale(); // if the user is running the client tool we'll send them a courtesy message // to let them know if (inputs.client.isRunning) { actions.client .sendMessage('Your email has been automatically converted to ' + 'grayscale.'); } } } function matchesAny(str, matchStrs, actions) { if (str == null || matchStrs == null) { return false; } for ( var i in matchStrs) { if (str.match(matchStrs[i])) { return true; } } return false; } /* * Request user for grayscale/color printing * */ function printJobHook2(inputs, actions) { /* * 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. */ var CONVERT_MESSAGE = 'Your job contains colour pages. Would you like to convert your job to grayscale? Selecting "No" will print the job in color, Selecting "YES" will change the job to greyscale.'; if (!inputs.job.isAnalysisComplete) { // No job details yet so return. return; } if (inputs.job.isColor) { /* Color job, ask the use if they want to print. */ if (inputs.client.isRunning) { // User is running the client software. Ask if they want to convert to grayscale or cancel. var response = actions.client.promptYesNo(CONVERT_MESSAGE); if (response == 'NO') { actions.log.debug('User chose to keep on printing in color'); } else if (response == 'TIMEOUT') { actions.log.debug('Dialog timed out, canceling job.'); actions.job.cancel(); } else { actions.log.debug('User chose to convert their job to grayscale.'); actions.job.convertToGrayscale(); } } else { actions.log.debug('Canceling job due to high number of color pages and user not running client software.'); actions.job.cancel(); } } } function printJobHook(inputs, actions) { printJobHook1(inputs, actions); printJobHook2(inputs, actions); }
-
Good Morning, This is my attempt at my first script within Papercut! (Wish me Luck) I am looking to convert all emails to black and white as default and ALSO if a job has any colour in, to pop up and prompt the user 'if they really need to print in colour?' Below is my script, can you let me know where it could be going wrong? [color=#AA7700][font=monospace]/*[/font][/color] [color=#AA7700][font=monospace]* Request user for grayscale/color printing[/font][/color] [color=#AA7700][font=monospace]*[/font][/color] [color=#AA7700][font=monospace]*/[/font][/color] [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]/*[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][font=monospace]* This print hook will need access to all job details[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][font=monospace]* so return if full job analysis is not yet complete.[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][font=monospace]* The only job details that are available before analysis[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][font=monospace]* are metadata such as username, printer name, and date.[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][font=monospace]*[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][font=monospace]* See reference documentation for full explanation.[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][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]'Your job contains colour pages. Would you like to convert your job to grayscale? Selecting "No" will print the job in colour, Selecting "YES" will change the job to greyscale.'[/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]EMAIL_APPLICATION_TITLES [/font][/color][color=#666666][font=monospace]= [/font][/color][color=#666666][font=monospace][ [/font][/color][color=#AA2222][font=monospace]'Microsoft Outlook'[/font][/color][color=#666666][font=monospace], [/font][/color][color=#AA2222][font=monospace]'Microsoft Office Outlook'[/font][/color][color=#666666][font=monospace], [/font][/color][color=#AA2222][font=monospace]'outbind://' [/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=black][font=monospace]matchesAny[/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]is[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]documentname[/font][/color][color=#666666][font=monospace], [/font][/color][color=#004499][font=monospace]EMAIL_APPLICATION_TITLES[/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]// this job is an email, convert it to grayscale (no harm done if the job is[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][font=monospace]// already grayscale)[/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]convertToGrayscale[/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]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=#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]is[/font][/color][color=#666666][font=monospace].[/font][/color][color=black][font=monospace]Color[/font][/color][color=#666666][font=monospace]) [/font][/color][color=#666666][font=monospace]{[/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][font=monospace]/* Color job, ask the use if they want to print. [/font][/color] [color=#666666][font=monospace] [/font][/color][color=#AA7700][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]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=#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=#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]'NO'[/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 colour'[/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=#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 grayscale.'[/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]convertToGrayscale[/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 high number of color 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] [color=black][font=monospace][/font][/color]
