You are here: Configuration > Mobile & BYOD Printing > Web Print (Driver-less printing via a web browser)

Web Print (Driver-less printing via a web browser)

Web PrintWeb Print enables printing from user-owned devices without the need to install printer drivers and manage server authentication. is a driver-less printing service that allows users to print by uploading documents from a web browser. No client software or driver installation is required. Web Print provides a simple way to enable printing for laptop, wireless and anonymous users without the overhead of installing printer drivers and managing server authentication.

Note:

Web Print is not available on direct print queues. To offer this service to your users, set up a server queue for this device/printer.

The recent growth in popularity of laptops and other small devices such as Netbooks and smart phones is changing the landscape of network printing. Where it was previously normal to allow printing only from in-house systems, there is now a growing need to support casual printing from user-owned devices. Providing users with information about how to configure these devices can be inconvenient and complicated, due to issues such as drivers and authentication, and in some situations might not be possible at all.

Due to this complexity, many organizations disallow printing from user-owned systems. A common workaround in these environments is for users to send themselves a document (e.g. via email, on a USB drive) and print from an in-house system. Web Print works in a similar way: it allows a user to upload their file to an in-house system (known as a Web Print server) and have this system perform the printing on their behalf.

With Web Print, users are authenticated when they log in to the PaperCut NG end-user web interface. Any documents they upload can then be tracked against their user name. Users have access to the standard selection of features normally available for in-house printing, including access to shared accounts.

Figure 53: Web Print architecture overview

Key Features

Some of the key features of PaperCut's Web Print solution include:

  • Simple wizard style interface, accessed from any web browser.

  • Users authenticate with their regular (network / domain) logins.

  • 100% web based. No drivers, client software, or browser plugins required.

  • File uploads with progress indicator (in the style of GMail attachment uploads).

  • Supports popular document formats including PDF, DOC/DOCX (and other Microsoft Office Word formats), XLS/XLSX (and other Microsoft Office Excel Formats), PPT/PPTX (and other Microsoft Office PowerPoint formats) and Microsoft XPS (XML Paper Specification). Web Print also supports common image formats including JPG, GIF, PNG, TIFF and BMP.

  • Users select printers from an auto-generated list or a clickable printer map, which you can design or import using open standards and free software.

Introduction to Web Print

Web Print works in two ways.

  • It can print PDF and picture files directly.

  • It can accept popular file formats and convert them to print jobs using common external applications. This is done by orchestrating applications such as Adobe Reader TM, Microsoft Office TM and the Microsoft XPS Viewer as background server-side tasks. Using this approach ensures that maximum print compatibility and quality is maintained.

Important: Adobe Reader, Microsoft Office and XPS Viewer are not supplied with PaperCut. It is your responsibility to purchase and conform to the licensing requirements of any third party software.

Supported Applications and File Formats

The following table lists the supported document types and associated applications that Web Print can use to render and print jobs. Before some file formats can be accepted as an upload, you must install its supporting application.

Table 54: Web Print File Formats and Applications
Document Type File Format(s) Direct PrintingDirect Printing allows you to print directly from a desktop to a printer, without the need for a print server. Supported External Applications
Portable Document Format PDF Support built-in (all platforms) Adobe Reader 9, Adobe Reader X (10), Adobe Reader XI (11)
Picture File JPEG, TIF, BMP, PNG, GIF Support built-in (Windows only)
Spreadsheet XLS, XLSX, etc. External application required Microsoft Office Excel 2007, 2010, 2013
Presentation PPT, PPTX, etc. External application required Microsoft Office PowerPoint 2007, 2010, 2013
Word Document DOC, DOCX, etc. External application required Microsoft Office Word 2007, 2010, 2013
Microsoft XPS XPS External application required Microsoft XPS Standalone Viewer (Essentials Pack) - For more information see XPS Viewer Installation Instructions

Security Considerations

Before setting up Web Print it is worth considering any security implications. Because Web Print allows any user with access to the PaperCut NG user web interface the ability to upload a document for printing, it naturally increases surface area for attack.

More specifically, security vulnerabilities that might usually be considered local, because they are triggered by opening a document in a Microsoft Office application or Adobe Reader can become a remote vulnerability. This is because these same applications are used to render print jobs on the server after the user has uploaded their document.

You can mitigate much of the security risk through security best practice, such as regularly applying security updates to the orchestrated applications. Organizations that are very security conscious might consider the sandbox approach. Sandboxing the Web Print server provides an extra layer of protection/isolation.

Setting Up Web Print

You can configure Web Print in one of two possible modes: Default Mode or Sandbox Mode.

Default Mode involves running the Web Print software on the same system as the PaperCut NG primary server. On Windows, it runs as a Service. This is the fastest and easiest way to get Web Print working. However, only printing of PDF documents (and picture files on Windows) is supported in this mode. When Web Print is running in Default Mode, Microsoft Office applications are not available due to limitations in the applications. (See Default Mode Setup.)

Sandbox Mode uses a sandboxed or virtualized system, isolated and dedicated to the task of processing Web Print jobs or converting documents for Email to PrintEmail to Print allows any device to print documents by sending an email to your network's print devices.. Sandbox Mode takes a little more time to configure but offers several advantages, including improved security and more supported document formats. (See Sandbox Mode Setup.)

Table 55: Web Print Setup Options (by platform)
primary server Type Default Mode Sandbox Mode
Microsoft Windows Yes (PDF and picture files only) Yes. All formats supported
Apple Mac Yes (PDF only) Yes. All formats supported
Linux running CUPSCommon User Printing System (CUPS) is a printing system for Unix operating systems that allows a computer to act as a print server. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer. Yes (PDF only) Yes. All formats supported
Novell OES Linux No. Default Mode not supported Yes. All formats supported

Default Mode Setup

Default Mode involves running the Web Print software on the same system as the PaperCut NG primary server. It is the fastest and easiest way to get Web Print working. It is suitable for testing Web Print functionality or where only PDF support is required.

In Default Mode the Web Print software runs as a service (background process or daemon) that is responsible for watching a directory for documents submitted by users e.g. PDFs. When a new document is detected, the background process opens the document and prints it.

Web Print Default Mode Setup for Windows Servers (PDF and picture files Only)

This section describes how to configure Web Print on the same Windows system as the PaperCut primary server. This is the fastest and easiest way to get Web Print up and running on a Windows system. Due to the inability of Microsoft Office or XPS Viewer applications to run as a system service, these file formats are only available on Windows when Web Print is configured in sandbox mode. See Sandbox Mode Setup for more information.

Web Print Default Mode supports the printing of PDF documents and picture files by default on Windows systems. No additional configuration is required.

Important: Check in Windows Services, that the Web Print service is configured to start automatically. Also, start the service now, if needed.

To confirm that everything is configured correctly, check the Web Print Status section under Options > Mobile & BYOD > Web Print . The status is listed as OK. Enable the Web Print option on at least one printer. If there are any status issues, or if basic Web Print testing produces some errors, consider these limitations/requirements:

Web Print Default Mode Setup for Mac and Linux Servers (PDF Only)

The Web Print Default Mode supports PDF documents by default on Mac and Linux systems (running CUPS). No additional configuration is required. To confirm that everything is configured correctly, check the Web Print Status section under Options > Mobile & BYOD > Web Print . The status is listed as OK. Enable the Web Print option on at least one printer. If there are any status issues, or if basic Web Print testing produces some errors, consider these limitations/requirements:

  • The printers targeted for use via Web Print must be queues that are managed by the Primary PaperCut Server. This includes print servers with the PaperCut secondary server installed.

  • The printers (as configured on the server) must have working compatible drivers.

  • Linux: The primary server must be running CUPS version 1.2 or higher.

  • Administrators might find the following log file useful in diagnosing issues: [app-path]/providers/web-print/[platform]/logs/web-print.log

Default Mode for Novell OES Linux and iPrintiPrint is a technology developed by Novell that allows users to install printer-drivers from a web browser and to submit print jobs over the Internet or a local network through the standard Internet Printing Protocol (IPP). Common desktop operating systems such as Windows, Linux, and Mac support iPrint. is not available. Novell OES users should implement the Sandbox Mode (in the following section).

Sandbox Mode Setup

A Web Print Sandbox (in Sandbox Mode) runs the Web Print software in a dedicated Windows system, often a virtual machine. Documents are opened and rendered by standard GUI applications such as Adobe Reader and Microsoft Office applications.

Use Sandbox Mode when you need to:

  1. Support printing of Microsoft Office documents from Web Print

  2. Support printing of Microsoft Office documents from Email to Print

  3. Render documents in a secure, sandbox environment away from your main server.

Sandbox Mode takes a little more time to configure but offers several advantages, such as support for Microsoft Office formats and improved security. Security is gained by opening and printing documents on an isolated system, separate from the PaperCut primary server; with the only connection between the two being a simple file share / mapped drive.

Tip: PaperCut is shipped with a high quality rendering engine for PDF documents. However, if you require documents to be rendered by Adobe Reader, this is also supported. Simply install Adobe Reader in your Web Print Sandbox.

Prerequisites:

  • A dedicated, standalone, cleanly installed system or virtual machine.

  • Windows operating system (suggested: Windows Vista or later).

  • Adobe Reader 9 or later (optional)

  • Microsoft Office 2007, 2010 or 2013 (to support Office formats)

  • Microsoft Standalone XPS Viewer / XPS Essentials Pack (to support Microsoft XPS) - download here

To set up Web Print in Sandbox Mode:

  1. Make sure Default Mode is disabled. See Important box below:

    Important:

    First, before setting up Web Print in Sandbox Mode, ensure Web Print in Default Mode is disabled as follows:

    • On Windows, stop and disable the PaperCut Web Print Server System Service (set its Startup type to Disabled).

    • On Mac and Linux, use a text editor to edit the file [app-path]/providers/web-print/[platform]/web-print.conf and change setting enabled to enabled=off.

      Remove the Web Print status files (named web-print-server.activity and web-print-server.status) located in the hot-folder /Applications/PaperCut NG/server/data/web-print-hot-folder.

      Restart the server (or services) to ensure the change is applied.

  2. Set up a new virtual machine using VMware Server, Microsoft Virtual Server or VirtualBox, or set up a standalone system e.g. a dedicated desktop PC. This system houses the Web Print server software and any required printing applications, and is called the Web Print server.

    This system does not need access to all network resources, but needs access to the hot folder share. This is created later. It also needs access to printer shares if used for Web Print (not Email to Print).

    Important:

    Ensure that the system clocks on the primary server and the Web Print sandbox are synchronized to a common clock. Time differences between these systems can cause problems with the Web Print system.

  3. Create a new user account called webprint (or equivalent). Set the password for this account to never expire. At a minimum, this account needs access to the printers, the ability to run local programs, and the ability to access the hot folder share (created in step 7).

  4. Skip this step if using the Sandbox for Email to Print only. Log in as the webprint user. Add print queues for the printers that you want to make available to users via Web Print. Add the print queues in the same way they would to a computer. They should point to the print queues hosted on the print serverA print server is a system responsible for hosting print queues and sharing printer resources to desktops. Users 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 also performs other tasks, such as, file serving, i.e. a Network Printer mapped to \\server\printer-share. It is important that the jobs pass via the queue on the server - do not add a Local Printer. You should also add the printers using the print server's machine name and not an IP address.

  5. Install one or more of the applications listed in step 7. The applications installed determine which file formats are available to users for printing.

    As the webprint user, open a file in each of the installed applications and print to several different printers, ensuring that all works as expected. IMPORTANT: Make sure you permanently acknowledge any license agreement screen, initial-run wizard, or customer experience program dialog during this process.

    Tip:

    • When installing Microsoft Office applications, select all optional components for installation. This prevents printing issues occurring due to missing components.

    • Adobe Reader X introduced a Protected Mode setting, which prevents printing from the command interface used by Web Print. Using Adobe Reader therefore requires the Protected Mode feature to be disabled. Web Print automatically disables Protected Mode for your webprint user. (You can also disable Protected Mode manually by disabling the Enable Protected Mode at startup setting in Adobe Reader under Edit > Preferences > Security (Enhanced) )

  6. Configure the Web Print server to automatically log in as the webprint user on startup. The service then runs when Windows is started, and be logged in as this user.

  7. The primary server and the software on the sandboxed Web Print server communicate via a standard network file share. On the PaperCut primary server, share the folder web-print-hot-folder located at [app-path]\server\data\web-print-hot-folder\. The hot folder facilitates communication between the primary server and the Web Print server.

    Tip: By default, Web Print uses this folder, not a sub-folder. You do not need to create a sub-folder in this folder.

    SambaSamba is a Windows interoperability suite of programs for Linux and Unix. It is used to integrate Linux/Unix servers and desktops into Active Directory environments. It can function as both a domain controller or as a regular domain member. sharing on Linux

    On the Linux PaperCut primary server, name the share PCWebPrint, and adjust both the Sharing and Security (NTFS/file) permissions of the PCWebPrint share to allow the webprint user read and write access.

    The following Samba configuration settings might be useful.

    [PCWebPrint]

    comment = PaperCut Web Print Hot Folder

    path = /home/papercut/server/data/web-print-hot-folder/

    public = no

    writeable = yes

    read only = no

    valid users = webprint

    You also need to add the webprint username to Samba via smbpasswd -a [username] and you should consider disabling the [home] shares in your smb.conf.

    Important: Ensure that your umask and Samba settings allow for the papercut linux user to be able to read and write to all files in the web-print-hot-folder. When using Novell and Linux, the Web Print Sandbox might create files owned by a different user than the PaperCut Application ServerAn Application Server is the primary server program responsible for providing the PaperCut user interface, storing data, and providing services to users. PaperCut uses the Application Server to manage user and account information, manage printers, calculate print costs, provide a web browser interface to administrators and end users, and much more. runs as, preventing the files from being accessed.

    Samba sharing on Mac

    On the Mac PaperCut primary server, adjust both the Sharing and Security (NTFS/file) permissions of the PCWebPrint share to allow the webprint user read and write access.

    1. Create a user in Users & Groups. This user will be used to read and write to the shared folder. Name the user webprint and assign it to the admin group.

    2. In Sharing -> File Sharing, share the folder [app-path]\server\data\web-print-hot-folder\; then add Read & Write permissions for the webprint user.

    3. Click Options on the same menu; then check the webprint user under Windows File Sharing.

    4. Set read access to everyone on the Web Print hot folder and any files under it by creating a new ACL. Open the Terminal app and type under [app-path]\server\data folder:

      sudo chmod +ai "everyone allow read,file_inherit" web-print-hot-folder

  8. Log in to the Web Print server as the webprint user. Map the W: drive to the hot folder share you have defined. Ensure that the option Reconnect at logon is selected when mapping the drive. If your webprint user's credentials on the PaperCut primary server are different from the Web Print Sandbox's user, click Connect using different credentials and enter them.

  9. Test that the file share can be accessed and written to from the Web Print server (e.g. by creating a new text file on W:). It is also recommended to test in the other direction as well, and confirm that files created on the primary server in the folder web-print-hot-folder can be opened/seen by the Web Print server.

  10. Run the main PaperCut NG installer on the Web Print server, and select the Web Print server installation (sandbox mode) install option.

  11. Configure the webprint user to run [app-path]\providers\web-print\win\pc-web-print.exe at login i.e by adding a shortcut to the user's Startup folder.

  12. Reboot the system. Ensure the system automatically logs in as the webprint user when it starts up, and that the PaperCut Web Print dialog is displayed shortly afterwards.

    See Troubleshooting Web Print Problems for assistance if the dialog indicates an error.

  13. Log in to the PaperCut NG admin interface and navigate to Options > Mobile & BYOD > Web Print .

    In the section titled Web Print Server, ensure that the Status is OK. If the status indicates an error, see Troubleshooting Web Print Problems for assistance.

    If your sandbox is for Email to Print only, you should see the full set of supported document types in the Email to Print set up section. If there is a problem, you should temporarily enable Web Print so you can take advantage of the additional status information provided in the Web Print setup.

  14. The Web Print setup is now complete and ready for testing. Continue at Web Print Testing and Feature Tour to submit a test print job and test functionality.

  15. As a final step, enable Web Print for each printer via the Printers > [PrinterName] > Advanced Config > Enable Web Print check box.

Web Print Testing and Feature Tour

This section covers the usage and main features of Web Print. For detailed configuration, see Web Print Configuration.

  1. Log in to the PaperCut NG user interfaceThe User Web Tool is the web user interface. It provide a range of services for users, including a summary of usage and balance history, a list of the shared accounts that the user can use for printing, the current costs for printing usage, ability to add balance by using a TopUp/Pre-Paid Card or an external payment system (when using the payment gateway module), transfer funds to other users, view a history of balance transactions, view a list of the user's recent printing, and view print jobs pending release (when using a Release Station). and click the Web Print link in the navigation menu.

  2. The front page contains a list of active and recently submitted Web Print jobs for the logged in user. At first, the list is empty. Later, the list shows the status of submitted jobs.

    You can customize the message at the top of this page e.g. to include site specific information or other details users need to know. See the Introductory message option in .

    The administrator can restrict access to the Web Print feature by group, by IP address/range, or disable the feature entirely. See Advanced Web Print Configuration for details.

  3. Click Submit a Job to start the Web Print wizard.

  4. The first step of the Web Print wizard is selecting a printer. This is the printer to which the uploaded document will print.

    The printers available for Web Print are chosen by the administrator. See for details.

    You can replace the printer list with a clickable map or other custom content. See Designing Printer Maps / Custom Printer Selection Lists for details.

    Tip: Web Print works great in conjunction with Hold/release queues & Print Release Stations and Find-Me Printing and Printer Load Balancing.

  5. After selecting a printer, the second step is to select the print and/or account selection options. Most users will see an option to select the number of copies to print:

    The maximum number of copies a user can submit is configurable via the user.web-print.max-copies Config EditorThe Config Editor stores information used by PaperCut to configure advanced options and functions. This information is stored in config keys, which are editable by an administrator. key. See Advanced Web Print Configuration for details.

    Users with print account selection options will see additional options on this page, equivalent to what they would see on their popup:

    Note:

    The developers hope to be able to support grayscale and duplex print options in the near future.

  6. After selecting the print options and/or account selection settings, the third and final step in the Web Print wizard is to upload a document to print. This page lists the applications and associated file extensions that are supported.

    If a supported application/file extension listed in Supported Applications and File Formats is not shown on this page but you expect it should be, see Troubleshooting Web Print Problems for assistance.

    Once you select a document and click Upload & Complete », the file upload to the server.

    The maximum file size a user can upload is configurable, with a default of 100MB. See the option Maximum document/file upload size in Advanced Web Print Configuration for details.

  7. Once the document upload is complete, the user is returned to the front Web Print page. The table displays the status of the user's job. The status changes to indicate the progress of the job from rendering to printing, and job details such as cost and number of pages are populated when known. The user can stay at this page to track the status of the job, or navigate away / close their browser - the job is not affected.

    At this stage the PaperCutApplication Server accepts the uploaded document and sends it to the Web Print server. The Web Print server renders the document into a print queueA print queue displays information about documents that are waiting to be printed, such as, the printing status, document owner, and number of pages to print. You can use the print queue to view, pause, resume, restart, and cancel print jobs. by automating the process of opening the application (e.g. Adobe Reader) and printing to the target printer.

Web Print Configuration

Administrator Settings

Administrators must nominate which printers are available with Web Print. Smaller organizations might want to make all printers available, while larger organizations might want to restrict to a subset e.g. limiting access to printers located in public areas. You can enable Web Print on a printer via Printers > [select printer] > Advanced Configuration > Enable Web Print (users may upload documents to print).

Tip:

To easily enable all printers for use with Web Print:

  1. Select Enable Web Print (users may upload documents to print) on the The Template Printer.

  2. Copy the setting to all other printers using Copying Printer Settings.

General Web Print configuration settings are in the admin interface at Options > Mobile & BYOD > Web Print .

Table 56: Web Print Settings
Setting Description
Enable Web Print (allow users to uploads documents for printing) When enabled, a Web Print item is displayed in the navigation menu of the user web interface, and users are able to use Web Print functionality. When disabled, this item is not visible, and the Web Print functionality is not available to users.
Maximum document/file upload size If a user uploads a document greater than the specified size (in MB), their upload is rejected.
Only allow uploads from users in this group Use this option to restrict Web Print access to a particular group of users. When this option is enabled users not in the specified group do not see the Web Print item in the navigation menu.
Allowed user IP addresses Use this option to restrict Web Print access to a selected IP address range. For example, access might be limited to systems on a wireless network (i.e. force users on the wired network to use standard print queues). Address ranges are entered in the format: 1.2.3.0/255.255.255.0.
Introductory message This message is displayed on the first page after a user clicks the Web Print item. Use this message to explain the service, offer site-specific advice or other information to assist the user. HTML is supported, e.g. use <p> tags to start a new paragraph, or an <a> tag to provide a link.

Print Options for Web Print Jobs

The print options selected during the Web Print wizard are currently limited to the number of copies to print. Other print options such as grayscale, duplex, paper size etc. are selected based on the default options of the print queue.

When printing an image file, Web Print rotates and/or scales down the image if needed so that it fits on the page.

If it is important to provide the user with a print option choice (e.g. when the same printer has trays for Letter and Legal paper). You would create two print queues each with different default settings e.g. one print queue called Library Printer (Letter) defaulting to the Letter size and tray, and a second print queue (pointing to the same physical printer) called Library Printer (Legal) defaulting to the Legal size and tray.

Designing Printer Maps / Custom Printer Selection Lists

Part of the Web Print wizard involves selecting the target printer from a list. This is great for most environments, but organizations with many printers or large sites might prefer something that provides users with more context about the printer they are selecting.

Using a graphical map can assist users to find the most convenient printer. A map allows a user to select a printer by location, rather than guessing the printer's location based on its name. Using printer maps or other types of custom printer lists in PaperCut NG does not require any special or proprietary software - they can easily be implemented using open standards and free software.

Custom content is loaded in place of the printer list, by placing the appropriate file at [app-path]/server/custom/web/ as described in the following table:

Table 57: Files used for custom printer selection in the Web Print wizard
File Name Description
printer-map.html If this file exists, it is loaded as an HTML page and displayed in an in-line frame (iframe), in place of the printer selection list. The HTML can contain any content or images, including links to other pages (which are also loaded in the iframe by default).
printer-map.svg If this file exists, it is loaded as an SVG page, and displayed in an iframe in place of the printer selection list. The SVG can contain links to other pages or other SVGs. You can create an SVG using software such as Microsoft Visio or the free/open source Inkscape, and is a convenient way of displaying a map or floor plan with clickable links.
Tip:
  • You can access any custom content placed in [app-path]/server/custom/web/, such as additional images, a URL beginning with /custom/. For example, if a file named floor-plan.png is placed in [app-path]/server/custom/web/ it is accessed via the URL /custom/floor-plan.png.
  • The custom printer map is displayed in an iframe with dimensions 776px x 400px. If the content is larger than this, then scrollbars are visible (the area will not expand to fit the content).

Example 1: Creating a Printer Map Using an HTML Image Map

  1. Create a file named printer-map.html at [app-path]/server/custom/web/. This file is loaded as an HTML page in an iframe in place of the default printer selection list, and can contain any content you choose; including links to further pages. Open this file in a text editor.

  2. Add the site plan image:

    <img src="site-plan.png" usemap="#buildings"

    style="width: 422px; height: 190px; border: none;" />

    The usemap="#buildings" attribute tells the image to look for an image map with the name buildings. Image maps allow you to make parts of an image "clickable". For more information about the HTML <map> element see xhtml.com's map element reference.

  3. Define the image map.

    <map name="buildings">

    <area shape="poly" coords="" href="building-a.html"

    alt="Building A" title="Building A" />

    <area shape="poly" coords="" href="building-b.html"

    alt="Building B" title="Building B" />

    </map>

    This defines a new image map called buildings, with two clickable areas. These areas are polygon shapes (shape="poly"), which means you can specify a list of points that form the outline of the clickable area (i.e. the area inside the points is clickable).

    Clicking the first area loads the page building-a.html. The alt and title tags provide information about the link, and display a tooltip when the user hovers over the area.

  4. You have defined two areas and the pages they link to, but you have not yet defined the coordinates for these areas. This is done using the coords attribute of the two area tags. Using an image editor, you can find coordinates for the outline of the two areas. Most image editors, including MS Paint, display pixel coordinates when hovering the mouse over the image.

    Using the image editor, find the following points for Building A (the lefthand building), starting from the top left corner, in (x,y) format: (0,48), (84,0), (143,34), (143,142), (60,190), (0,155). Pixels are counted from the top-left corner of an image, so the coordinate (60,190) means "60 pixels from the top, 190 pixels from the left".

  5. Repeat the previous step for the second building to get coordinates similar to: (242,50), (320,4), (422,63), (422,135), (332,190), (226,131).

  6. Now that you have the clickable area coordinates, you can define them in the image map.

    The definition for the area tag when using a poly type shape, tells you that the coordinates are specified in a list of x,y coordinates (i.e. "x1,y1,x2,y2...xn,yn"), so you enter the coordinates in the coords attributes as follows:

    <map name="buildings">

    <area shape="poly"

    coords="0,48,84,0,143,34,143,142,60,190,0,155"

    href="building-a.html" alt="Building A"

    title="Building A" />

    <area shape="poly"

    coords="242,50,320,4,422,63,422,135,332,190,226,131"

    href="building-b.html" alt="Building B"

    title="Building B" />

    </map>

  7. Open printer-map.html in a web browser to display the site plan image. Hovering the mouse over each building displays the link cursor, and indicates a link to the respective pages.

  8. Create the building-a.html page. Using a similar process to the existing page, add floor-plan.png and create an image map for it:

    <div>Building A (<a href="printer-map.html">back</a>)</div>

    This map is mostly similar to the previous one, except that you have defined five rectangle shapes (shape="rect") and provided a link back to the main site plan (printer-map.html).

    Rectangle shapes in an <area> element are defined with the coordinates of top-left and bottom-right corners ("x1,y1,x2,y2").

  9. Now you have the images and shapes in place for the site plan and one building's floor plan. To finish off this building, define what happens when each printer is clicked. This is done using a JavaScript function selectPrinter. Calling selectPrinter('my-server', 'Library Printer') submits the form on this step of the Web Print wizard, selecting the printer called Library Printer, hosted on the print server called my-server.

    Call this JavaScript function when one of the defined areas is clicked by setting the href attribute as follows:

    <area shape="rect" coords="4,289,22,307"

    href="javascript:parent.selectPrinter('building-a',

    'Printer 1');"

    alt="building-a\Printer 1"

    title="building-a\Printer 1" />

  10. Repeat the previous step for the remaining printers, taking care that the server and printer names are entered correctly. Note that the printer name is the printer's unique name on the print server, and can be different to the printer's "share name".

  11. Repeat the steps for creating building-a.html to create building-b.html (or copy the file and modify to suit).

  12. Test the Web Print wizard to ensure that clicking a building takes you to that building's floor plan, and clicking a printer submits the form to select that printer. Note that if the names you've used for the printers don't actually exist in your PaperCut NG server, then you'll see an error message about the printer not being available. You might want to modify the details for one of the printers to match a real printer so that you can test the wizard end-to-end.

    The source for this example contains some additional tweaks to improve browser consistency, such as removing the border and white background of the iframe in Internet Explorer.

Example 2: Creating a Printer Map Using SVG

This example explains how to use an SVG image for a clickable printer map. This method is most suitable if you have plans or drawings in a vector format that can be saved as SVG. Otherwise Example 1: Creating a Printer Map Using an HTML Image Map might be more suitable.

An example SVG floor plan with clickable printers is located in [app-path]/server/examples/printer-maps/html-image-map/.

Modern web browsers are capable of displaying an SVG file in a similar way to displaying a web page. Mozilla Firefox and Opera can display SVGs "out of the box", and Microsoft Internet Explorer can display SVGs using the Adobe SVG Viewer add-on. In addition to drawing the image, you can make parts of the image "clickable" to provide links to other pages or, as in this case, to call a JavaScript function that selects a printer.

This example describes how to take an existing SVG image, and make parts of it clickable so you can select printer.

Tip:

You can save a Microsoft Office Visio drawing as SVG and used in this example.

  1. Download and install Inkscape, the free/open source vector graphics editor, and use it to open your SVG.

  2. Select the object that you want to be "clickable". A dotted background is displayed around the object.

  3. Right-click the object and select Create Link.

  4. Right-click the object and select Link Properties. The Link Properties dialog box is displayed.

  5. In Href, enter a value such as: javascript:parent.selectPrinter('server', 'printer');, where server is the name of the print server, and printer is the name of the print queue.

  6. Repeat to create links for each printer in the image.

  7. Select File > Save As; then select a file type of Plain SVG (*.svg). Save the image to [app-path]/server/custom/web/printer-map.svg on the PaperCut NG server.

  8. Try testing with the Web Print wizard. The SVG is visible on the first step of the Web Print wizard, in place of the printer list. Clicking a printer should move on to the next step.

Advanced Web Print Configuration

The following advanced configuration options are available via the Config Editor. See Using the Config Editor for information about using the Config Editor.

Table 58: Web Print Config Editor Keys
Config Name Description
web-print.job-idle-timeout-mins If a Web Print job remains unchanged for longer than this period of time, it is considered finished and is "cleaned up". The document and associated files are removed, and the job is no longer displayed in the user's list of current Web Print jobs. The default idle job timeout is 20 minutes.
web-print.job-rendering-timeout-mins The Web Print server is given this length of time to render a Web Print document. If a print job has not been generated from the document after this time, the job is marked as errored and associated files are removed. The default job rendering timeout is 5 minutes.
web-print.max-copies This is the maximum number of copies a user can print via Web Print. This option exists to prevent users accidentally (or thoughtlessly!) printing too much.
web-print.hot-folder When a user uploads a file via the Web Print interface, it is written into the "hot folder", along with a .metadata file containing information about how to print the job (the data selected by the user in the Web Print wizard). The Web Print server looks for new files in this folder, and prints them as required. The default hot folder location is [app-path]/server/data/web-print-hot-folder/. You can specify an alternate location using this config keyA config key stores information about a specific advanced setting in PaperCut. Config keys are editable by an administrator in the Config Editor.. The location must be local to the PaperCut NG primary server (it cannot be a network share or mapped drive due to Windows denying share access to the SYSTEM account).

The following configuration options are available in the Web Print server configuration file, located at [app-path]/providers/web-print/[platform]/web-print.conf.

Table 59: Web Print Server Config File
Config Name Description
hotfolder The location of the Web Print hot folder. This is generally a mapped drive letter (Windows) or a mount point that maps to a file share (Mac, Linux). It might also be a local path, if the Web Print server software is running on the same system as the PaperCut NG primary server.
debug Set to on to enable debug logging.
options.pdf Set to xpdf to force PDF printing to use the built-in PDF printing routines. Set to acrobat to force PDF printing to use Adobe Reader.

Troubleshooting Web Print Problems

XPS Viewer Installation Instructions

Microsoft Windows XP and Server 2003 administrators can easily install the Microsoft XML Paper Specification Essentials Pack (XPSEP), which contains the XPS viewer from the Microsoft website. Versions for both 32bit and 64bit are available. By default, Windows Vista and Windows 7 includes a compatible XPS Viewer if .NET Framework 3.0 is already installed.

Customers running Microsoft Windows Server 2008, must install the XPS Viewer from the Features module of the Server Manager MMC snap-in.

  1. Load the Server Manager MMC snap in via Start menu > Administrative Tools > Server Manager .

  2. Right-click Features; then select Add Feature.

  3. Select the XPS Viewer check box; then click Next.

  4. On the Confirm Installation Selections dialog box, click Install .

  5. When the installation is complete, click Close .


Comments

Share your findings and experience with other PaperCut users. Feel free to add comments and suggestions about this Knowledge Base article. Please don't use this for support requests.