Jump to content

Recommended Posts

Posted

Hi All,

 

We just got a fleet of HP P55250DW printers which have colour capabilities, however i only want people to print in colour if they really need to.

 

Is there a way to script PaperCut to pop up and ask if the user would like to convert the print job to greyscale or continue to print in colour?

 

I have tried a couple of the built in recipes such as convert email to greyscale from outlook but although it says your printing has been converted to greyscale, it still prints in colour anyway!

  • 2 weeks later...
Posted
Could you not just deny all colour printing on certain printers. for example in the library we have a colour printer but it will only allow B/W printing. If someone wants colour then they have to print to another printer in the school and go and collect it themselves.
Posted

Nope. We have turned most our printers mono only but admin need to switch between them.

 

Could do a mono driver and colour but i don't think they will be happy keep switching printers!

Posted
Only way i can think of doing it is via Scripting, i suggest asking Papercut. Last few times we've contacted them the support has been great.

 

I agree with you, ask papercut support for the best way to solve this. I am sure they would be more than happy to help.

Posted

Try this one - not mine, someone here wrote it for me years ago.

/*
* Request user for grayscale/color printing
*
*/
function printJobHook(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 colour, 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();
   }
 }
}

 

if they select yes, it continues in greyscale, no and they get colour

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...