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