Before I talk about setting up and managing printers in OS X, you should know a bit about types of printers and printing connections, how to install additional supported printer drivers and PPDs, and a bit of background on OS X's actual printing system.
There are generally two kinds of printers on the market today: PostScript and non-PostScript. PostScript, a standard printing/programming language, was once only available on expensive laser printers but has recently become common even on lower-priced printers. OS X includes a universal PostScript driver that provides basic support for any PostScript Level 2 or Level 3 printer, and supports additional printer-specific features (multiple paper trays, varying print quality, etc.) via printerspecific PostScript Printer Description (PPD) files. Because of its built-in PostScript driver, OS X can print to any PostScript Level 2 or Level 3 printer right out of the box; however, you many not be able to access features specific to a printer until you install and/or select its correct PPD file. (Although as I'll explain in a moment, this is often done for you, automatically.)
Non-PostScript printers, such as many inkjet printers, use a technology known as Printer Control Language (PCL); PCL printers don't take advantage of a universal printing engine, so each printer requires its own driver (which also supplies information about printer-specific features). The downside to PCL is that unlike PostScript printers, if you don't have the proper driver your printer usually won't print at all.
Luckily, your Mac supports an impressive number of printers right out of the box, due to the fact that many PPD files and non-PostScript printer drivers are pre-installed with OS X.
You can see the official list of printers supported by OS X at http://www.apple.com/macosx/upgrade/printers.html. You can also see a list of provided PPD files at http://docs.info.apple.com/article.html?artnum=107002, and a list of pre-installed inkjet printer drivers at http://docs.info.apple.com/article.html?artnum=107001. Note that in many cases a driver will also work with closely related printers from the same printer manufacturer and model line.
Whether a printer is usable with OS X depends not only on whether or not a printer driver or PPD file is available for it, but also on whether or not it can connect to your Mac. OS X supports non-AppleTalk printing via USB, Ethernet, FireWire, Bluetooth, and serial ports. It also supports many serial-to-USB and parallel-to-USB adapters, so it's often possible to use older serial and parallel printers even if your Mac doesn't have the right ports. Unfortunately, support for AppleTalk printers is much more limited; only those connected via Ethernet are (officially) supported. (If your LocalTalk printer is still worth a good deal of money, you can buy a third-party LocalTalk-to-Ethernet bridge; however, for inexpensive printers, the cost may not be worth it.) OS X can also print to any supported printer that can be seen on a network, whether that network is Ethernet, AirPort/wireless, or FireWire. Finally, OS X can print over the Internet to printers that have their own IP address.
After reading the previous two sections, you may have noticed that OS X does not officially support a good number printers—including many older printers from Apple. In addition, a number of newer printers (especially "multifunction" models) do not yet have official drivers available. I'll show you how to add support for many of these printers later in the chapter (see "Supporting Unsupported Printers").
In addition to OS X's built-in drivers and PPDs, many printer manufacturers release new printer drivers that either aren't part of OS X's library or are more recent versions of drivers that are. Some are automatically made available to you through OS X's Software Update system. However, because many aren't, you should always check the website of the manufacturer of your printer to make sure you have the latest version. If an updated or new driver is available, download it and follow the included installation instructions; in most cases this requires an administrator account. If the downloaded file is simply a PostScript Printer Description, you should manually place it in the appropriate Printers directory (see "Where Are the Printer Drivers?").
In Mac OS X, printer drivers and support files are located in several places. The basic printing interfaces, as well as PPD files for Apple printers, are installed by Mac OS X in /System/Library/Printers. Third-party printer drivers and PPDs—both those installed by OS X and those installed manually by users—are located in /Library/Printers. It's also possible for users to install printer drivers and/or PPDs in ~/Library/Printers, but those drivers and PPDs will only be available for the user who installs them.
There are a couple situations where you may not have the full complement of stock OS X printer drivers and/or PPD files: (1) you installed OS X yourself, and in the "Customize" dialog you unchecked some or all printer drivers; or (2) you manually removed drivers and PPDs to free up space on your hard drive (see "Cleaning House: Removing Unnecessary Printer Drivers," later in this chapter). Whatever the reason, it's possible that you might need some of those drivers back later. Here's how to get them:
Insert Disc 2 of your Mac OS X Install CDs.
Locate the file AdditionalPrinterDrivers.mpkg (or .pkg—some versions of the package use a different file extension), and double-click it. This launches the OS X Installer application.
Provide your admin password.
Select your startup volume as the destination for installation, and then click Continue.
If you don't want to install all of the stock printer support files, you can instead open a manufacturer-specific package (e.g., EpsonPrinterDrivers.pkg) to install printer support for a specific brand of printer.
Although most users never think twice about the guts of their computer's printing system, in the case of OS X it's actually a useful topic to broach. OS X has always had a fairly advanced printing system; however, beginning with OS X 10.2, Apple completely replaced the previous printing engine with the Common Unix Printing System (CUPS). CUPS, originally developed by Easy Software Products (http://www.easysw.com/), was created to provide an open-source, standard printing architecture that any version of Unix could use. Apple decided to take advantage of OS X's Unix roots by licensing CUPS and using it as the basis for printing.
CUPS provides many of the features you'd expect from an advanced printing system (many of which I'll talk about in this chapter): print queuing, spooling, and management; network browsing and directory services for printers; print logging and accounting; print filtering; and a large number of built-in drivers for popular printers. However, it also provides convenient command-line and web-based management, and its open-source nature makes it extensible not just by Apple, but also by developers and even users.
CUPS means three things for you as a user. First, it means that it's easier for printer manufacturers to write drivers that will work with OS X. Second, it means that it's easier for others to develop printer drivers when the manufacturer won't—this is a major benefit, as I'll explain a bit later in the chapter (see "Supporting Unsupported Printers"). Finally, because CUPS can be managed from both a web browser and Terminal commands, OS X's printing system has become one of the most flexible and adaptable of any OS on the market.
If you're interested in learning more about CUPS, check out http://www.cups.org/or the documentation already installed on your computer at http://localhost:631/documentation.html.