MPrintable standardizes the calling conventions associated with printable objects. It provides an object with two key functions:
Use PrintAndCreateJobHandle instead of Print if you need to track submitted print jobs. Job handles allow you to track print jobs.
Three classes form the basis of Printing services: MPageFolio, TPageIterator, and TPageRange. MPageFolio is an MPrintable. A derived class of TPageIterator, TPrintPageIterator, is also an MPrintable.
MPageFolio represents a collection of printable pages. It defines the structure and content of a printable folio. Printing services provide two types of page folios:
TPageIterator is a general class designed to navigate through collections of pages. It provides access to the pages in a folio and establishes page order . TPageIterator returns objects--derived classes of TPage--to represent the iterated pages.
TPrintPageIterator is a derived class of TPageIterator specifically designed for printing.
Printing services provide two types of printable page iterators:
Derived classes of TPage can add properties required by your documents. For example, the page number is determined by a page iterator and a page range, which is ordinal to other pages in the iterator. This is not necessarily the actual page number in the document or as printed on the page itself. Derived classes could add a function to provide the document page number if needed.