Print Framework Overview


Handles the setting up of print jobs.

Architectural relationships

Symbian OS handles printing as a special case of drawing to a device context. Printing functionality, apart from the print job setup classes in this API, belongs to the Printing API, part of the Graphics subsystem.

UI variants may provide stock printing dialogs for users to initiate and control print jobs. It is normal for applications that provide printing to supply print job setup and other printing objects to these dialogs, which can then use them as appropriate.


The API has three key concepts: print job setup, print parameters, and print process observer.

Print job setup

The setup encapsulates settings that need to be initialised before executing a print job. These include the printer device to print to, the page orientation and size, margins, and header and footer. It can also be used to start a print job or print preview. It is provided by CPrintSetup.

Margins are part of the print job setup, and apply to a whole document. The class is TPageMargins.

Headers and footers are also part of the print job setup, and can consist of rich text, plus fields for page number, total number of pages, current date or time and filename. The class is CHeaderFooter.

Print parameters

Print parameters encapsulate the number of copies and the number of the first and last page to be printed in a print job. They are associated with a particular print request. The class is TPrintParameters.

Print process observer

Once a print job has begun, it can call an observer interface to report the progress of the job. Typically, an application uses a stock print progress dialog as the observer, rather than implementing it directly. The class is MPrintProcessObserver.

See also

Using Print Framework

Print Preview Overview