1<HTML> 2<BODY> 3<h3>Overview</h3> 4<p> 5Provides classes for implementing print support in applications and also contains all 6base classes and abstractions involved in printing. These base classes are also used 7by other more specialized printing related packages. 8</p> 9<p> 10The entry point for interacting with the print system is the {@link android.print.PrintManager} 11which is a system service that can be obtained from the current context. The print manager 12provides APIs for printing, querying the state of print jobs, etc. 13<p/> 14<h3>Print contract</h3> 15<p> 16An application that wants to implement printing must extend 17{@link android.print.PrintDocumentAdapter} which defines the contract between the system 18and the application.The key idea behind this adapter is that the printed content may change 19based on the selected print options, such as media size, orientation, which 20requires the content to be re-laid out. The constraints according to which the content has 21to be laid out are encapsulated in the {@link android.print.PrintAttributes} class. Once 22layout is completed the application calls back to the system passing a 23{@link android.print.PrintDocumentInfo} instance which describes the generated content. After 24the content has been laid out the application may be asked to render some pages of that content 25for preview or printing. The range of pages that have to be rendered is abstracted by the 26{@link android.print.PageRange} class. 27</p> 28<h3>Print jobs</h3> 29<p> 30A print job is represented by the {@link android.print.PrintJob} class which has behavior 31methods as well as methods for querying its state. Each print job has a unique id represented 32by the {@link android.print.PrintJobId} class and exposes APIs for obtaining a {@link 33android.print.PrintJobInfo} which is a snapshot of its state. The print job state may 34change over time. 35</p> 36<h3>Printers</h3> 37<p> 38An available printer represented by the {@link android.print.PrinterInfo} class has a 39unique id which is abstracted by the {@link android.print.PrinterId} class. The {@link 40android.print.PrinterInfo} contains printer properties such as id, name, description, status, 41and printer capabilities encapsulated in the {@link android.print.PrinterCapabilitiesInfo} 42class. Printer capabilities describe how a printer can print content, for example what are 43the supported media sizes, color modes, resolutions, etc. 44<p> 45</BODY> 46</HTML> 47