Jump To:
Leopard Reference Library: Carbon
Carbon is a set of C APIs that take advantage of new features and enhancements of Mac OS X, including protected memory, preemptive multitasking and dynamic resource allocation, as well as the Aqua interface. The Carbon printing APIs are a collection of system software functions that an application can use to print to any type of supported printer.

View all Printing Reference Library.
Document Descriptions
On Off

Sort by
Sort by
Resource Type
Sorted by
PMPrinterTest (HTML) (DMG) (ZIP)
Demonstrates using the PMPrinter APIs to obtain information about the connected printers.
Sample Code 2009-02-13
Gathering all PostScript Printer Descriptions (PPDs) (HTML)
QA1529: Describes a work around for an issue in PMCopyAvailablePPDs on Mac OS X 10.4 and below
Technical Q&As 2008-08-08
PDEPanel Protocol Reference (HTML) (PDF)
Describes the informal protocol used to implement custom panes in a printing dialog.
Reference 2007-12-11
PDEPlugIn Protocol Reference (HTML) (PDF)
Describes the informal protocol used to add custom panes to a printing dialog.
Reference 2007-12-11
PDEPlugInCallbackProtocol Reference (HTML) (PDF)
Describes the informal protocol used to access information about the current print job.
Reference 2007-12-11
Providing PDF Workflow Options in the Print Dialog (HTML) (PDF)
Installation information and examples, including the use of Automator workflows.
Guides 2007-10-31
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Technical Q&As 2007-08-02
Cocoa PDE with Carbon Printing (HTML) (DMG) (ZIP)
Application that uses a Cocoa PDE along with the Carbon Printing APIs.
Sample Code 2007-07-27
Carbon Printing Reference (HTML) (PDF)
Describes the C API used by Carbon applications to provide a user interface for printing.
Reference 2007-07-24
Core Printing Reference (HTML) (PDF)
Describes the C API that provides an abstraction layer for application printing.
Reference 2007-07-24
Printer Queue vs. Printer Name (HTML)
QA1407: Explains the difference between a printer queue and a printer name.
Technical Q&As 2007-04-26
Saving Printer Settings for Automatic Printing (HTML)
TN2155: Describes how you can save a a user selected Printer, Print Settings and Page Format to disk.
Technical Notes 2007-03-29
Extending Printing Dialogs (HTML) (PDF)
A guide to developing printing dialog extensions, including basic concepts and a documented Carbon-based sample project.
Guides 2006-10-03
PMPrinterPrintWithFile (HTML) (DMG) (ZIP)
How to send files, for example PostScript and PDF, directly to the printer. Replaces the pict-ps path.
Sample Code 2006-07-18
Mac OS X Printing System Overview (HTML) (PDF)
Introduces Apple's printing architecture. Includes a road map for developing software.
Guides 2006-02-07
Creating Printing Presets for iPhoto (HTML) (PDF)
Rules for creating and installing printer-specific collections of settings. Includes a sample file.
Guides 2005-07-07
Using PostScript Printer Description Files (HTML) (PDF)
Information for printer vendors. Includes installing files, PPD/PDE binding, and grouping features.
Guides 2005-07-07
Supporting Printing in Your Carbon Application (HTML) (PDF)
Explains how to support printing in Carbon applications. Includes creating PDFs and porting from Mac OS 9.
Guides 2004-08-31
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
Technical Notes 2003-12-09
Printing Plug-in Interfaces Reference (HTML) (PDF)
Describes the various callback interfaces that Mac OS X printing plug-ins implement in Carbon.
Reference 2003-07-31
How do I use PMSessionGetGraphicsContext to get a CGContextRef? (HTML) (日本語 HTML)
Deprecated - QA1216: Describes how to use PMSessionSetDocumentFormatGeneration and PMSessionGetGraphicsContext to get a CGContextRef for printing.
Technical Q&As 2003-02-25
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Technical Q&As 2003-02-25
CarbonQuartzDrawingWPrinting (HTML) (DMG) (ZIP)
Deprecated - Demonstrates mixing QuickDraw and Quartz 2D drawing both on screen and during printing.
Sample Code 2003-01-14
PDEProject (HTML) (DMG) (ZIP)
Deprecated - Demonstrates an application-hosted printing dialog extension (PDE) that displays a custom pane in the Print dialog.
Sample Code 2003-01-14
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Technical Q&As 2002-10-29
Ticket Services Reference (HTML) (PDF)
Describes the C API used by printer modules and PDEs to communicate printing information to the system.
Reference 2002-10-23
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Technical Q&As 2001-10-02
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Technical Q&As 2001-10-02
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Technical Q&As 2001-07-02
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Technical Q&As 2001-07-02
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Technical Q&As 2001-07-02
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Technical Q&As 2001-07-02
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Technical Q&As 2001-07-02