Organization of This Document
See Also
The Mac OS X printing system provides a flexible and powerful new printing environment for Macintosh developers. The architecture makes it much easier for application developers to support printing in their applications and for printer vendors to write printer drivers and extend printing dialogs. The Mac OS X printing system has a number of advantages over the printing system used in Mac OS 8 and 9, including the following:
The printing system uses Quartz 2D for rendering and conversion services. Quartz 2D supports a resolution-independent PDF drawing model which allows applications to print high-quality, color-managed output on all classes of raster and PostScript printers.
Sheets allow you to open more than one printing dialog at the same time and to send more than one print job to a printer queue.
Printing dialogs can be customized with printing dialog extensions. This means you don’t need to completely replace the standard printing dialogs to provide users with application-specific or printer-specific features. The Page Setup dialog can be extended by application developers, while both printer vendors and application developers can extend the Print dialog.
Printer modules replace printer drivers. Printer modules are easier to write than printer drivers, as much of the code that has to be in a driver is now taken care of for you in Apple-supplied I/O modules and other parts of the printing system.
The printing application programming interface (API) includes robust support for Carbon applications. Carbon developers can write one application that can run in Mac OS X as well as in Mac OS 8 and 9. Cocoa developers support printing by using Cocoa objects and methods. Cocoa methods call through to the Carbon Printing Manager API.
If you are a developer who plans to write an application that supports printing in Mac OS X, you should read this document before you start to write your code. You should also read this document if you plan to write any type of printing plug-in, such as a printing dialog extension or printer module.
The chapters in this document cover the following topics:
“Mac OS X Printing System User Interface” describes the user interface of the printing dialogs and the Print Center application.
“Mac OS X Printing Architecture” outlines the components of the printing architecture and describes how the printing system keeps track of print job information.
“Developing Software” provides information on the software you can develop for the Mac OS X printing system and gives pointers to documentation and sample code to get you started.
The following documents provide information on the procedural C APIs available for printing in Mac OS X:
Carbon Printing Manager Reference describes the C API for supporting printing and PDF creation in an application.
Printing Plug-in Interfaces Reference describes the various callback interfaces that Mac OS X printing plug-ins implement in Carbon.
Ticket Services Reference describes the C API used by printer modules and PDEs to communicate printing information to the system.
Last updated: 2006-02-07