Introduction to Extending Printing Dialogs

As printer vendors and application developers extend the printing capabilities of their hardware and software products, they need a way to extend the Mac OS X printing system to make new printing features available to their customers. To address this need, Mac OS X has introduced the printing plug-in—a component architecture based on Core Foundation Plug-in Services.

There are four types of printing plug-ins in Mac OS X:

This book is a guide to developing printing dialog extensions—including basic concepts, theory of operation, and a documented Carbon-based sample project.

Why Read This Book

You should read this book if:

Organization of This Document

The first part covers the basic concepts. Both Carbon and Cocoa developers will benefit from reading these chapters:

The second part is a tutorial that shows how to construct and use a printing dialog extension:

The appendixes cover a few remaining topics:

Other Options for Application Developers

Carbon applications can also extend the printing dialogs using the AppendDITL function, an older approach. Cocoa applications can extend the printing dialogs by adding an accessory view to an NSPageLayout or NSPrintPanel object.

In both cases, the printing system displays your custom controls inside a new dialog pane that’s named for your application. Your application can host only a single custom pane in each dialog.

The section Extending a Printing Dialog discusses the various options in more detail, and makes some recommendations.

Before You Start Reading

To get the most out of reading this book, you should first read Mac OS X Printing System Overview.

Printing Plug-in Interfaces Reference—the companion volume to this book—includes the reference documentation for the printing dialog extension API.

Both of these publications are available online in the ADC Reference Library.

You should also be familiar with Core Foundation plug-in concepts.