X

Landscape printing of postscript files broken in OS X 10.6.5

The latest OS X 10.6.5 release has a bug in the printing system that will prevent postscript files from being printed in landscape view. This will affect many programs that handle postscript files, including those from Adobe.

Topher Kessler MacFixIt Editor
Topher, an avid Mac user for the past 15 years, has been a contributing author to MacFixIt since the spring of 2008. One of his passions is troubleshooting Mac problems and making the best use of Macs and Apple hardware at home and in the workplace.
Topher Kessler
3 min read

MacFixIt reader "carrickp" recently wrote in describing a problem where the latest OS X 10.6.5 release has a bug in the Common Unix Printing System (CUPS) technology that will prevent postscript files from being printed in landscape view. This will affect many programs that handle postscript files, including those from Adobe.

When postscript files are printed using CUPS, they are converted by the "pstops" filter to a CUPS-specific postscript format which contains options for devices to handle the print job, such as duplexing, binding, and stapling, but also the organization of specific page ranges to print and the orientation of them on the printed page.

In the latest release, the pstops filter has been coded incorrectly so the landscape transformation is broken. This is likely from a small oversight by the programmers, and according to the CUPS bug report on this issue the filter has been fixed for the next version of CUPS (version 1.5).

The next version of CUPS or at least the updated filter should be included in the next version of OS X, however, for people who are currently affected by this bug there are several options available.

The fixes
The quick approach to this problem is to wait for the next release of OS X, but this really will not fix anything. The dirty approach is to revert back to OS X 10.6.4, which can possibly be a pain if you reinstall the OS or revert with Time Machine and then have to restore more recent backups to get your workflow up and running again.

The alternative to these is to replace the pstops filter in the CUPS system with the one used in OS X 10.6.4. If you have created a backup of your system before upgrading to OS X 10.6.5, you will have a version of the pstops filter in your backup, that you can copy to the current installation and use to re-enable landscape printing.

To do this, open the Terminal program and type "cd" followed by a single space. Then go to your Time Machine backup drive and open the "backups.backupdb" folder and the folder of your computer name, followed by the folder titled "Latest."

With this folder open, drag the backup folder of the boot drive to the Terminal window and press Enter. This will switch the location in the Terminal to this folder on the backup drive.

When this is done, run the following command to copy the pstops file in the backup to its respective location on the boot drive:

sudo cp usr/libexec/cups/filter/pstops /usr/libexec/cups/filter/pstops

After this is done, reboot the system and perform a permissions fix on the boot drive using Disk Utility, and the system should now print postscript files in landscape orientation.

Installing pstops with pacifist
With the pstops filter selected in Pacifist, installing should replace the current version with that in the old Combo updater.

Non-Terminal approaches
If you do not have a convenient backup of OS X 10.6.4 or if you are uncertain about your abilities with the Terminal, you can use the package management utility "Pacifist" to extract the filter file from the OS X 10.6.4 Combo updater that is still available on the Apple site, and install it on your system running OS X 10.6.5.

First get a copy of Pacifist (the demo/trial version will work, but you have to wait for the registration window to finish displaying first) and then download the OS X 10.6.4 Combo updater. Mount the updater image and then open it with Pacifist by right-clicking and choosing Pacifist from the "Open With..." menu; alternatively you can use Pacifist's "Open" command.

With the updater opened in Pacifist, go to the following directory: Contents of MacOSXUpdCombo10.6.4.pkg → Contents of manual → Contents of MacOSXUpdCombo10.6.4.pkg → usr → libexec → cups → filter

In this folder, select the pstops file and click the "install" button at the top of the Pacifist window. Check the box to use administrator privileges when installing, and continue installing the file. After this is done, restart the system and try printing again. Pacifist should install the file with the proper permissions so you should not need to repair permissions using Disk Utility, but this is also a step you can take if you would like.



Questions? Comments? Have a fix? Post them below or e-mail us!
Be sure to check us out on Twitter and the CNET Mac forums.