iOS Printing (iPad & iPhone)

PaperCut's iPad / iPhone Printing support enables printing to all your PaperCut managed printers across your enterprise (and iOS devices - iPad, iPhone, iPod Touch). As well as enabling printing, the PaperCut iPad / iPhone App also provides the rich functionality desktop users are used to, such as authentication, balance display and selecting / charging to shared accounts when printing.

The PaperCut iPad / iPhone App is able to be deployed / installed in a pre-configured form for your network via a simple URL.

PaperCut's iPad / iPhone Printing support works by providing two key parts:

  1. The PaperCut Printer Advertiser - advertises the Apple CUPS printers managed by PaperCut using Bonjour/mDNS (so the iPads / iPhones users can find the PaperCut controlled queues).

  2. The PaperCut iOS App, providing support for print authentication, balance display, account selection and other features.

At the time of writing there is no built-in option provided by Apple to print from an iOS device to server shared print queues. PaperCut uses existing technologies built into Mac OS (Bonjour/mDNS) to advertise PaperCut managed server shared print queues so you an track and control iPad / iPhone printing. Some printers include built-in support for AirPrint®[1] (for printing direct from iOS devices to the printer), however the nature of print control/accounting requires that print jobs are intercepted by a central server. Additionally, most larger organizations want to leverage their existing print infrastructure, policies and print rules rather than change them. PaperCut's solution for iPad / iPhone Printing will now allow you to leverage your existing network and PaperCut setup.

Requirements

  1. Mac OS X 10.7 or greater system to share the print queues (desktop version is fine, server tools not required)

  2. Apple iOS 5 or greater devices to print from

  3. Wireless network

The PaperCut Printer Advertiser is a part of the PaperCut primary and secondary server installation and advertises the PaperCut print queues to iOS devices.

For Windows, Linux or Novell sites (or sites with a Mac OS 10.6 or older print server they would prefer not to upgrade), a separate (secondary) Mac OS 10.7 print server can be configured to share print queues. This can be as simple as purchasing a Mac Mini system and making it accessible from the wireless network.

Alternatively, you can use third party applications like Presto or Efi's PrintMe Mobile which can share printers on a Windows server to mobile devices across your network. PaperCut Software has worked with these vendors to ensure compatibility and an improving solution over time. The Presto application also provides a solution for advertising printers over multiple subnets.

Sharing Printers to iOS Devices

  1. Set up a Mac OS 10.7 system to act as your iPad / iPhone print server. This can be your existing Mac print server (if it meets the system requirements), or a separate (secondary) print server (see the section called “Configuring a Macintosh Secondary Print Server” for details).

  2. Install the print queues and drivers for the printers you wish to share to your iOS devices. These print queues should point directly to the printer, not another print server.

  3. Test printing from a local application (e.g. Safari) to ensure that the drivers and printers are functioning correctly.

  4. Install PaperCut. If you are setting up a secondary Mac print server (i.e. the primary PaperCut server is on another system), follow the steps at the section called “Configuring a Macintosh Secondary Print Server”. If you are setting up a Mac primary server, follow the steps at the section called “Installation on Apple Mac”.

    Ensure that your Mac server is connected to the same subnet as the wireless network that the iOS devices will connect to. Without further configuration, the publishing protocol Bonjour will broadcast to the local subnet only and devices on other subnets will not see your printers.

    You may overcome the single subnet limitation by connecting your Mac server to multiple subnets. If you are using a cabled network, your Mac will need a separate Ethernet interface for each network connection. However, if you are using a wireless network, you may add multiple IP addresses, one for each subnet, to the same network interface. To add multiple addresses to a wireless interface:

    1. Open Network Preferences (System PreferencesNetwork) and select your wireless interface.

    2. Click the gear icon underneath the interface list and select Duplicate Service. Enter a name for your new network and click Duplicate.

    3. Select the duplicated network connection and click Advanced.... Select the TCP/IP tab and choose Configure IPv4 Manually. Enter an IPv4 address for the subnet you wish to connect to.

      Your chosen IP address must be unique. Make sure you choose an IP address outside the DHCP address allocation range so that you can be sure that you will not experience address conflicts. Alternatively you can configure DHCP to permanently reserve the chosen address for your Mac Server. (DHCP configuration is normally performed on your network router.)

  5. Share all the printers that you would like to publish to iOS devices: System PreferencesPrint & Scan[select printer]Share this printer on the network (to do this, Printer Sharing must first be enabled in the Sharing pane).

    Sharing a printer on Mac OS

    Figure 21.7. Sharing a printer on Mac OS

  6. Run /Applications/PaperCut NG/Control Printer Monitoring.command and choose to disable print tracking on the print queues that will be shared (see the section called “On Mac” for details). This will allow you to test iOS Printing functionality without PaperCut's monitoring involved (to limit what is being tested).

  7. Print a document from your iOS device e.g. open Safari, load a web page, touch the "arrow" menu and select Print. When selecting a printer, the queues shared from your Mac print server should now appear (if not, see Q:). The job should print correctly.

  8. Test printing across a number of printers and apps such as Mail, Safari, Photos and iBooks / PDFs. Not all printers are capable of supporting all formats. Take the time to test and ensure the printers that you are making available produce acceptable results.

  9. Re-enable PaperCut tracking using /Applications/PaperCut NG/Control Printer Monitoring.command (see the section called “On Mac” for details).

You will now need to install the iPad / iPhone app (Mobile Client) to print. See the next section for details.

The PaperCut iPad / iPhone App (Mobile Client)

The PaperCut App for iPad / iPhone (also known as the Mobile Client) is required for printing to PaperCut managed printers. The App authenticates each print job - effectively linking up users with their print jobs. It can also provide balance display, print job confirmation, shared account selection and message notification.

Deployment

Deploying the App to iOS devices is simply a matter of having the user access a URL of the form http://[primary-server]:9191/ios/install, where [primary-server] is the preferred hostname or IP address of your primary PaperCut server.

Accessing the installation URL manually, using Safari

Figure 21.8. Accessing the installation URL manually, using Safari

Tip

For easier distribution of the installation URL, try adding a link on an intranet page, sending it in an email or printing the URL on posters. It may help to add a short DNS name for your print server or even set up a simple redirect URL (e.g. http://myorg/ios/install -> http://print-server.myorg.edu:9191/ios/install).

After accessing the installation URL on an iPad / iPhone (iOS device) an Install Profile dialog should appear. Follow the promps to install the App. Afterwards, a Printing App (actually a Web Clip) should be available on the home screen.

The "Install Profile" dialog, displayed after accessing the installation URL

Figure 21.9. The "Install Profile" dialog, displayed after accessing the installation URL

The PaperCut App for iPad on the home screen

Figure 21.10. The PaperCut App for iPad on the home screen

For alternative and advanced deployment options, see the section called “Advanced App Deployment”.

Usage

The PaperCut App for iPad / iPhone (Mobile Client) is used to:

  • Authenticate the user and their print jobs.

  • Display the user's balance.

  • Perform print job confirmation.

  • Perform shared account selection.

  • Display Print Scripting messages.

  • Perform other functionality such as message notification.

The PaperCut App for iPad (before printing)

Figure 21.11. The PaperCut App for iPad (before printing)

The PaperCut App for iPhone(before printing)

Figure 21.12. The PaperCut App for iPhone(before printing)

The following examples illustrate typical usage of the App for a student (immediate print) and a staff member (account selection).

Scenario: Student Printing
  1. The student prints from their selected app.

    Printing from iOS

    Figure 21.13. Printing from iOS

  2. The student closes the app and opens the Printing (PaperCut) app.

    Printing (PaperCut) app on the home screen

    Figure 21.14. Printing (PaperCut) app on the home screen

  3. The student enters their username and password. On a personal device this step only needs to be performed once. Future logins are performed automatically through the use of an authentication cookie.

    Authenticating to the PaperCut iPad App

    Figure 21.15. Authenticating to the PaperCut iPad App

  4. The student's print job is authentication and proceeds to print. The student can see their job's progress in the app.

    The PaperCut App for iPad (after printing)

    Figure 21.16. The PaperCut App for iPad (after printing)

    The PaperCut App for iPhone (after printing)

    Figure 21.17. The PaperCut App for iPhone (after printing)

Scenario: Staff Printing (Account Selection)
  1. The staff member prints from their selected app.

    Printing from iOS

    Figure 21.18. Printing from iOS

  2. The staff member closes the app and opens the Printing (PaperCut) app.

    Printing (PaperCut) app on the home screen

    Figure 21.19. Printing (PaperCut) app on the home screen

  3. The staff member enters their username and password. On a personal device this step only needs to be performed once. Future logins are performed automatically through the use of an authentication cookie.

    Authenticating to the PaperCut App

    Figure 21.20. Authenticating to the PaperCut App

  4. The print job is authenticated and is ready for account selection. The account selection dialog appears.

    The account selection dialog in the PaperCut App

    Figure 21.21. The account selection dialog in the PaperCut App

  5. The staff member selects their chosen shared account and touches Print. The job prints, and the staff member can see their job's progress in the app.

    The PaperCut App for iPad (after printing)

    Figure 21.22. The PaperCut App for iPad (after printing)

    The PaperCut App for iPhone (after printing)

    Figure 21.23. The PaperCut App for iPhone (after printing)

Troubleshooting & FAQ

Q: Jobs won't print.
Q: Can I have multiple Mac print servers running PaperCut's iPad / iPhone App (e.g. to provide different printers to different subnets)?
Q: My printers don't show up on the iOS devices when selecting a printer.
Q: My jobs do not show in the iPad / iPhone App.
Q: Other users' jobs are showing up in the PaperCut iPad / iPhone App.
Q: Why isn't PaperCut iPad / iPhone Printing App supporting Windows print servers?
Q: I changed a printer's Location field and it's not being reflected on the devices.
Q: Under what username do jobs from iOS devices arrive in the print queue?
Q: Jobs are printing as [generic account], e.g. "guest".
Q: How do I uninstall / reinstall the PaperCut App on my iPad / iPhone?
Q: How do I prevent a printer being shared?
Q: How do I disable or re-enable iOS printing support on a Mac Print server?
Q: Can the PaperCut App for iPad / iPhone Printing display print scripting pop-ups?
Q:

Jobs won't print.

A:
  1. Are you printing double sided? Try turning double sided off. There seems to be issues with double sided printing on some iOS devices, as of iOS 5.0.1.

  2. Try printing with PaperCut tracking disabled (using /Applications/PaperCut NG/Control Printer Monitoring.command) to help diagnose the problem (see the section called “On Mac” for details).

Q:

Can I have multiple Mac print servers running PaperCut's iPad / iPhone App (e.g. to provide different printers to different subnets)?

A:

Yes! Alternatively, to provide the same printers to multiple subnets, consider using Bonjour/mDNS "reflectors" (left as an exercise for the reader ;-)

Q:

My printers don't show up on the iOS devices when selecting a printer.

A:
  1. Ensure that the printers are shared on the Mac server.

  2. Ensure that PaperCut is installed on the Mac server (primary or secondary server install).

  3. It can take a few minutes before the printers show up on the iOS devices. Has it been that long since sharing the printers?

  4. Ensure that the Mac server is on the same subnet as the iOS devices. Bonjour/mDNS, the protocol used to publish/advertise the print queues, will only broadcast to the local subnet without further configuration (a "reflector", the configuration of which is beyond the scope of the documentation).

    You may be able overcome this limitation by connecting a wireless interface on your Mac server to multiple subnets. This is discussed in more detail at the section called “Sharing Printers to iOS Devices”.

  5. Try rebooting the Mac server. This will refresh the list of available printers and restart the Bonjour services that publish them.

Q:

My jobs do not show in the iPad / iPhone App.

A:

PaperCut uses the IP address of your iOS device to determine which jobs to display. If you are accessing PaperCut via a proxy server, the remote IP address may not be immediately accessible and jobs will not appear.

Some proxy servers will retain the remote IP address in an X-Forwarded-For header. PaperCut can use this header to obtain the remote IP address, but for security reasons you must first add your proxy servers to PaperCut's list of trusted proxy servers.

In PaperCut's admin interface:

  1. Go to SettingsAdvancedSecurity

  2. Add the IP addresses of your proxy servers to the Trusted Proxy Servers list and click Apply.

Q:

Other users' jobs are showing up in the PaperCut iPad / iPhone App.

A:
  1. The IP addresses of the iOS devices need to be unique. Ensure that the devices are not behind a NAT relative to the Mac Print Server sharing the print queues.

  2. If just one other user's jobs are showing up, ensure that the DHCP lease times aren't too short.

Q:

Why isn't PaperCut iPad / iPhone Printing App supporting Windows print servers?

A:

PaperCut supports Windows print servers by integrating with best-of-breed solutions like Presto and Efi's PrintMe Mobile. For sites that would prefer a 100% Apple solution, you can add a secondary Mac print server (e.g. a Mac Mini) to provide iOS printing support.

Q:

I changed a printer's Location field and it's not being reflected on the devices.

A:

Changes to the printer's location and name will not immediately be reflected and you may need to restart the system or services to promptly broadcast these changes.

Q:

Under what username do jobs from iOS devices arrive in the print queue?

A:

guest. The CUPS web interface will display this username as Withheld.

Q:

Jobs are printing as [generic account], e.g. "guest".

A:

Ensure that [generic account] is marked as Unauthenticated in PaperCut.

Q:

How do I uninstall / reinstall the PaperCut App on my iPad / iPhone?

A:
  1. Delete the Printing app (Web Clip) (hold your finger down over the app until the icons "go wobbly", then touch the cross icon next to the app).

  2. Delete the Printing profile via SettingsGeneralProfilePrintingRemove It is important that the app / Web Clip is deleted before deleting the profile (if not, problems have been reported such as multiple blank icons returning once the profile is reinstalled, as of iOS 5.0.1).

  3. To reinstall, follow the installation procedure again.

Q:

How do I prevent a printer being shared?

A:

See the section called “Limiting Printer Deployment”.

Q:

How do I disable or re-enable iOS printing support on a Mac Print server?

A:

There are two commands that can be be run from the OS X termninal or the OS X Finder:

  • [app-path]/providers/iosprint/mac/disable-iosprint.command. Stops (and disables) the iOS print service and creates a marker file that is used during susbquent upgrades to respect the iOS print status.

  • [app-path]/providers/iosprint/mac/start-iosprint.command. Enables (and starts) the iOS print service and removes the marker file.

Q:

Can the PaperCut App for iPad / iPhone Printing display print scripting pop-ups?

A:

Not yet. Scripting pop-ups for the PaperCut App are planned for a future release.

Advanced iPad / iPhone Printing Setup

iPad / iPhone Printing Technical Description

PaperCut for iPad / iPhone Printing works by providing four distinct parts:

  1. PaperCut enables Mac OS's built-in Bonjour/mDNS publishing to advertise/publish PaperCut managed/tracked shared print queues, so that they appear in the Print menu on iOS devices (on the same network).

  2. CUPS on Mac OS accepts print jobs (as PDF) and renders them into the queue's target printer language (generally PostScript).

  3. PaperCut identifies the print jobs, generally arriving as user guest, as being unauthenticated. The device IP address is used to identify the device sending the print job.

  4. The PaperCut App on the iOS device is used to authenticate the user from their device IP address, linking their print jobs with their username.

  5. The App receives directions from the PaperCut server, such as to display print job details or account selection.

Limiting Printer Deployment

When PaperCut has been installed on a Mac OS 10.7+ print server, all PaperCut NG managed and shared printers will be published (made available) to iOS devices by default (see the section called “Sharing Printers to iOS Devices” for details). If you would like to share printers to OS X (desktop) systems but not to iOS devices, you can turn off broadcasting/advertising by adding "No iOS" anywhere in the printer's location field, then restarting the system e.g.:

  1. Navigate to System PreferencesPrint & Scan[select printer]Options & Supplies...Location

  2. Add the text "No iOS" to the Location field e.g. "Lab G4.01 (No iOS)".

  3. Restart the system for this change to take effect.

Advanced App Deployment

Large deployments such as universities, school districts or corporations with organization-wide iPad / iPhone deployments may want to consider more advanced app deployment techniques. Other than the standard URL based (Configuration Profile) deployment covered in the section called “Deployment”, there are several other deployment options, all of which are compatible with PaperCut:

  • If you are using the iPhone Configuration Utility to distribute Configuration Profiles to your iOS devices, you can a Web Clip to them. Use a URL of the form http://[primary-server]:9191/ios. If you are using an SSL certificate with PaperCut that is trusted by your iOS devices, you can use an HTTPS URL of the form https://[primary-server]:9192/ios. You can find an icon at http://[primary-server]:9191/images/icons2/72x72/web-client.png.

  • If you are using a Mobile Device Management (MDM) server to send configuration to your iOS devices, you can add distribution of the PaperCut App as a Web Clip. Use a URL of the form http://[primary-server]:9191/ios. If you are using an SSL certificate with PaperCut that is trusted by your iOS devices, you can use an HTTPS URL of the form https://[primary-server]:9192/ios. You can find an icon at http://[primary-server]:9191/images/icons2/72x72/web-client.png.

  • You can access the PaperCut App for iOS devices from Safari using a URL of the form http://[primary-server]:9191/ios. From here, you can either continue to use the app in Safari, or choose Add to Home Screen from the "arrow" menu. Launching the App from the home screen is recommended for the best experience.



[1] "AirPrint" is a registered trademark of Apple Inc.