Print from Classic using native OS X printer drivers
Mar 04, '05 08:14:00AM
Contributed by: lugal
There have been a few other hints posted describing how to send jobs directly to CUPS via the command line. At the school where I work (with over 500 Macs), we've been using our own version of this idea since September, with great results.
Since most of our printers are on our network, rather than being connected locally, handing off print jobs from Classic to OS X allows us to:
- Eliminate all Classic printer drivers except for LaserWriter 8
- Print from Classic via TCP/IP easily
- Make clear to our users which printer they're printing to
This helps keep our administrative overhead down by letting us ignore Classic printing specifics, eliminate the Chooser, and keep AppleTalk (which never worked very well in OS X) turned off. The big difference between our method and those that have already been published is that we get feedback about our printing jobs through the regular Panther interface (i.e., the Printer Setup Utility and the printer proxy apps).
To set it up, do the following:
- Copy and paste this AppleScript into Script Editor. Compile the script, and save it into the /Library/Scripts/Folder Action Scripts folder. Give it a sensible name when you save; I call my installation "Print - choosing printer.scpt."
- Create a folder called "Classic Print Jobs" in ~/Library/.
- Control-click on the newly-created folder, and attach the newly-created script as a Folder Action.
- If Classic is running, quit it.
- Delete your "Printing Prefs" folder. This is either in /System Folder/Preferences/, or ~/Library/Classic/Preferences, depending on whether or not you've checked "Use Mac OS 9 preferences from your home" in the Classic Prefs pane.
- Launch Desktop Printer Utility -- a Classic app, probably in your /Applications (Mac OS 9)/Utilities/ folder. Choose "LaserWriter 8" from the pull-down menu, select "Translator (PostScript)" in the menu, and click "OK." In the next window, change the Default Destination Folder to the "Classic Print Jobs" folder created in step two. Then click the "Create..." button, and give the printer a sensible name (I use "OS X Printer").
Now, when you print from Classic, the Print dialog box will only let you print to a file, and will default to the "Classic Print Jobs" folder. When you save the file there, it will call up a list of the printer proxy apps in the "~/Library/Printers/" folder. These proxy apps are created whenever you print to a given printer, or create a Desktop Printer with the Printer Setup Utility app.
When you select a printer and click "OK," it sends that file to the chosen printer's proxy app. From there, printing proceeds as if it were an OS X print job. This has worked with every document type that we've tried -- text, color graphics, inkjets, laser printers, local printers, and networked printers all work equally well. If you find that it works well for you, then you can also delete all your other Classic printer drivers and the Chooser, as we have.
Comments (13)
Mac OS X Hints
http://hints.macworld.com/article.php?story=2005030316173578