PaperCut Scripts

There are a range of pre-written scripts available within PaperCut If you require more power than PaperCut's in-built filters and restrictions. To make it easy to get started, advanced scripting comes with dozens of pre-written recipes. Looking at these is a great way to understand their power. ITS can provide a range of scripts to our customers, please see below a sample of some the scripts that are readily available. Simply contact us via the form to request your a custom script.

Papercut scripts

Reward regular use of grayscale/duplex

It's always a good idea to reward good behaviour. This recipe help you implement a campaign to discourage color printing and encourage the use of duplex (double-sided) printing. It will track a user’s usage and if they hit the target of 10 continuous days of printing without using any colour and/or duplex will be rewarded.

Prevent overuse of lab printers (rate limiting)

By placing a reasonable rate limit on printers during lab times (a rate large enough to support printing of lab work only), you'll ensure the resource is available to all students.

Daily colour page limit

This recipe imposes a fixed limit on the number of colour pages a user can print per day. A colour page quota is a better solution than separate balances for colour and black & white. Separate balances are more confusing (two accounts to manage), and also can lead to waste, as users with no black & white credit remaining will simply revert to colour printing.

Change personal accounts available for printing

When using a printer that belongs to the "Science Faculty", users can only use credit from their "Science Quotas" or "Cash" accounts. Users cannot use other faculty quotas on these printers.
This also demonstrates the use of printer groups to simplify script maintenance.

Discounted printing for selected shared account

When printing is charged to a selected shared account (e.g. a school fund-raising group) a discount is applied to the job cost. This also demonstrates the use of the "post account selection hook".

Trap and warn users if they print known problem documents

Some organisations have known problem documents such as large spreadsheets that if accidentally printed will print thousands of pages. This recipe will check for a known problem document and alert the user and ask them to confirm their actions.

Send email alert on disallowed printer access

IT Department is protective of their new printer and they are keen to catch any non-IT staff using it. If anyone outside of IT is found using the printer, the job should be denied and the IT staff alerted via email of the attempted use.

Restrict jobs to a subnet

Jobs sent from workstations in a specified subnet are allowed, other jobs are cancelled. This script demonstrates network level restrictions.

Prompt for security classification

The user is prompted via the a client software popup for the document's security classification. The classification is then associated with the job as a comment for reference and reporting.

Add a watermark on pages printed a group of users (students but not staff)

Adds the date, time and name of the user to the bottom of all pages printed by students. This is done by checking if the user is a member of the defined students group. Watermarking is disabled for staff (users not in the student group).

Copyright and attribution sampling and tracking

Sample of a percentage of all jobs printed between a given period checking copyright and attribution. Users are prompted via the client software to see whether someone else holds the copyright to the job they are printing. If so, they are prompted to attribute the work via title and author. This is then recorded in the database so it can be extracted into Microsoft Excel via the CSV Print Job Log export report (stored in Comment field).

Prompt for comment

The user is prompted via the a client popup to enter a comment about their print job. This could be used to describe what is being printed or provide a justification for printing.

Bypass Hold/Release Queue for selected users

Selected users print very large batch jobs and it's frustrating to have to attend the printer twice: once for release and then again later to collect the job. Selected users will be given the option to print direct bypassing the Hold/Release queue.

Require approval code

Users are required to enter a valid approval code to print their job. Approval codes are pre-defined and known only by privileged users, e.g. teachers. Users who do not enter a valid approval code will have their jobs cancelled.

Ask the user if the job should be held in a release queue

Hold/release queues allow private and confidential documents to be held and only released when the user has confirmed that they are physically at the device (e.g. authenticated at a release station). Holding all jobs may be a burden on users. This script asks the user if a job is confidential and will only hold these jobs.

Hold jobs in a release queue during peak times

During peak hours printers can get very busy. When many users are printing sometimes people pickup other peoples print job resulting in frustration and waste. This recipe enables the hold/release queue during the peak hours of 9:00am to 6:00pm weekdays. When printing at off-peak times, users are not inconvenienced by using a hold/release queue.

Confirm printing of emails (from Outlook)

Implement an organization wide policy to discourage printing of emails. Users printing emails will be informed via the client software of the policy and the print job's environmental impact. Users will need to confirm their action.

Confirm printing emails in colour (from Outlook)

Implement an organization wide policy to discourage printing of emails in colour. Users printing emails in colour will be informed via the client software of the policy and they will need to confirm their action.

Discount for staff

Staff are charged less for printing than other users. This recipe also demonstrates the use of debug logging.

Discount printing during off-peak

Encourage users to print during periods of low activity by offering a discount of 25% during the period before 8:00am and after 6:00pm.

Free printing during class time

Members of the Students group get free printing to science lab printers during lab time (2:00pm to 5:00pm Mondays).

Charge printing during class time to the department

Members of the Students group get free printing to engineering lab printers during lab time (9:00am to 11:00am weekdays).

Redirect large jobs without confirmation

Users printing jobs larger than the defined number of pages have their jobs automatically redirected to another printer. This can be used to redirect large jobs from slower or high cost printers to more efficient or faster high volume printers.

Convert all email printing to grayscale

Implement an organization wide policy that no emails should be printed in colour. Often emails contain colour in links or headers that adds no value. This script automatically converts all emails (printed from Outlook) to grayscale.

Discounted printing for large print jobs

Reduce the cost per page when print jobs are larger than 100 pages. Any pages above 100 are charged at a 50% discount.

Inform user when printer is in error

If a user sends a print job to a printer that is in error (e.g. offline, paper jam, out of paper) they will be informed via the client tool and given the opportunity to cancel and print to another printer.

Cancel large print jobs sent by students

Members of the Students group are only allowed to print up to 100 pages. Jobs larger than this will be cancelled with a notification. This recipe demonstrates group-level restrictions.

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.

“Go Green” with environmental warnings

If a user attempts to print a large job, educate them with the organisation's "Go Green" initiative. The message displayed adapts to the job's duplex setting.

Print Policy Enforcement

Enforce a company/corporate print policy designed to reduce toner and save paper by discouraging bad habits. The policy script reminds users to print double-sided and not print emails and web pages in colour. This recipe also demonstrates advanced HTML dialog layout.

Redirect large jobs with confirmation

A user printing a large job is requested to redirect the job to a printer dedicated for large batch printing. Users will be asked to confirm the redirection via the client software. 

Redirect colour jobs to black & white printer with confirmation

Colour printing is expensive so users should be encouraged to print in grayscale. When a job is colour prompt the user to send the job to a grayscale print queue. Please note: This script does not change the job to grayscale the job may still print in colour on colour printers. 

Convert jobs with a high number of colour pages to grayscale (or cancel)

Users may accidentally (or without thinking) print multi-page documents with many colour pages. When printing jobs with a high number of colour pages (e.g. >20), users will be given a choice to either convert their job to grayscale or cancel it. Users who are not running the client software will have their jobs cancelled automatically. 

Route the job to the cheapest compatible printer (least-cost routing)

An organisation has a fleet of compatible printers, each with different operating costs. This recipe calculates the cost of the job on the candidate printers and redirects the job to the cheapest with the user's confirmation. 

Custom scripts

Add username and date watermark on pages printed by students (but not staff).

Adds the date, time and name of the user to the bottom of all pages printed by students. This is done by checking if the user is a member of the defined students group.  Watermarking is disabled for staff.

Stop documents from getting printed based on how large the document (in KB) is

A document size limit is set so that if a document is sent that is too large it will cancel the job and request the user tries to reprint in another, smaller file type

Allow print jobs to send through cups

To remove "smbrn" from a print job send through cups. as it always prefixes that "smbrn" to print jobs

Convert print jobs based on file extension

The script takes the document name, gets the files extension and then trims it down  to only the extension. If it is a PDF document, then it will convert the job to greyscale.

Confirmation of an internal document

When users submit a colour print job a pop-up appears asking "Is this an internal document?" with a "Yes" or "No" option. If "Yes" then the job is forced duplex greyscale. If "No" another pop-up appears asking "Do you need this in colour?" with a "Yes" or "No" option. If "Yes" then the job prints. If "No" then the job is forced duplex.

Daily Black page limit

Sometimes, a high price tag just isn't enough to discourage users from printing in Black. This recipe imposes a fixed limit on the number of Black pages a user can print per day.


Request a script