G2 Fall report names PaperCut #1 in Print

Choose your language

Choose your login

Contact us

Help Center menu


PaperCut NG & PaperCut MF Manual


How does PaperCut NG/MF work?

Before explaining how PaperCut NG/MF works at a technical and end user level, read through the following key concepts.

Key concepts

  • Client/Server model - Client software is a small program that runs on each workstation and communicates with a server. The printing process on most networks works on a client/server model with clients (workstations) submitting jobs to a server. PaperCut NG/MF also uses the client/server model in the optional client software to communicate with end users.

  • Application Server - An Application Server is a server program responsible for centrally processing business logic and providing services to end users. PaperCut NG/MF uses the Application Server model to provide a business logic unit for calculating user costs and providing a web browser interface to end users.

  • Print server - A print server is a system responsible for hosting print queues and sharing printer resources to desktop clients/workstations. Users on the workstations submit print jobs to a print server rather then directly to the printer itself. A print server can be a dedicated server but on many networks this server can also perform other tasks such as file serving.

  • Print queue - A print queue is first-in-first-out queue listing all jobs pending on a given printer.

  • Information provider - A provider is a software component or program responsible for providing information to an Application Server. PaperCut NG/MF uses providers to submit print queue/job information to its Application Server. This information provider is called the Print Provider. Other important providers included with PaperCut NG/MF include user directory and authentication providers.

  • Web Print server - Web Print server is the PaperCut terminology for a server that allows laptop (wireless) users to upload Microsoft Office and PDF files to be printed on network printers from personal computers that are not authenticated to the network and do not have network printer drivers.

  • User ID/Username - In a multi-user environment, users log on to a network or computer using a username and password. These are often managed by services such as Active Directory or LDAP. The username is known as the user’s identity. PaperCut NG/MF uses this identity to track printing.

  • Shared account - A shared account is a PaperCut NG/MF term used to represent an account (pool of funds or allocation group) accessible to multiple users. Accounts usually represent “work areas” such as Departments, Faculties, Projects, Clients, Client/Matter, or Cost Centers.

  • Web interface - A web interface is a software program that interacts withusers via a web browser. Examples range from Google, Microsoft SharePoint, Hotmail, Internet banking and router management consoles. PaperCut NG/MF provides a web interface for system administration and management. Web interfaces offer administration flexibility by allowing access from any location on the network and avoid the need for installation of separate software.

  • Scripting language - A scripting language is a programming language that allows control of one or more software applications. In PaperCut NG/MF, you can use scripting to perform various administrative functions such as modifying parameters for users, shared accounts or printers. It can also be used for programmatic control during the print process to provide functionality such as print job re-direction, user notifications / warnings and confirmation for large or expensive print jobs.

Understanding the print process flow

To help explain what PaperCut NG/MF is and how it works we’ll introduce the system by example. We’ll start with a simple high school example:

The student’s perspective (transparent quota control):

  1. Chris is a student at a local high school. He has logged onto the network using his username, chris.j.smith, and is surfing the Internet. He selects Print from his web browser to print out a web page for his school assignment.

  2. The network administrator has allocated Chris a printing credit budget of $20.00 a month. He can see his current account balance of $10.00 in the PaperCut User Client.

  3. A confirmation screen listing the number of pages and the cost of the print job is displayed on the Workstation.

  4. Chris confirms the print job.

  5. 5 pages come out of the printer.

  6. The network administrator has set a cost-per-page inside PaperCut on the printer at $0.10. Chris’ 5 page document costs $0.50.

  7. Chris’ account balance is now at $9.50. He can continue to print until he submits a print job that has a cost that is higher than the balance in his account.

The teacher’s perspective (allocation to accounts):

  1. Matt is an English and Mathematics teacher at the same local high school.

  2. Matt needs to print out a 279 page document for his next class.

  3. The network administrator has configured PaperCut to charge users in the faculty group $.01 per page, and has granted Matt access to charge to his personal account or to the English or math department’s shared accounts.

  4. Matt clicks Print in the application.

  5. The PaperCut User Client displays a popup and presents Matt with information about the print jobs and requests an account selection. In this case accounts represent Departments but could also represent projects or other work areas.

  6. Matt selects the English department’s shared account from the list.

  7. The print job is printed and the English department account is charged $2.79 for the print job.

The technical perspective (behind the scenes):

  1. When the teacher, Matt, prints from his application, his workstation transfers the print job to the server and places it in the print queue.

  2. The PaperCut Print Provider intercepts the print job in the queue prior to printing, pauses it, and analyzes the information determining:

    1. Who printed the document

    2. The number of pages in the document

    3. Other information such as duplex, grayscale mode, paper size, etc.

  3. The Print Provider submits the job’s information to the Application Server to process the business logic.

  4. The Application Server determines that Matt needs to select the account to charge. It notifies the Client Software on Matt’s desktop.

  5. The Client Software displays the Popup requesting for the user to select an account.

  6. After Matt selects the account, the Application Server is notified of Matt selection. The business logic validates that Matt is authorized to charge to the selected account.

  7. The Application Server charges the appropriate account, logs the job and instructs the Print Provider to resume or unpause the print job in the print queue allowing it to proceed to the printer.

Architecture overview

PaperCut NG/MF was developed using the latest software development strategies, a strong influence being Service Oriented Architecture (SOA). The Print Provider, Application Server and Client Software all communicate with one another using XML-based web services over HTTP.

Figure 1: Architecture - an advanced configuration

A more detailed explanation of the architecture and support for multiple servers, Web Print servers, server clustering, and payment gateways is provided in subsequent sections of this User Guide.