Added in API level 19

PrintedPdfDocument


open class PrintedPdfDocument : PdfDocument
kotlin.Any
   ↳ android.graphics.pdf.PdfDocument
   ↳ android.print.pdf.PrintedPdfDocument

This class is a helper for creating a PDF file for given print attributes. It is useful for implementing printing via the native Android graphics APIs.

This class computes the page width, page height, and content rectangle from the provided print attributes and these precomputed values can be accessed via getPageWidth(), getPageHeight(), and getPageContentRect(), respectively. The startPage(int) methods creates pages whose PageInfo is initialized with the precomputed values for width, height, and content rectangle.

A typical use of the APIs looks like this:

// open a new document
  PrintedPdfDocument document = new PrintedPdfDocument(context,
          printAttributes);
 
  // start a page
  Page page = document.startPage(0);
 
  // draw something on the page
  View content = getContentView();
  content.draw(page.getCanvas());
 
  // finish the page
  document.finishPage(page);
  . . .
  // add more pages
  . . .
  // write the document content
  document.writeTo(getOutputStream());
 
  //close the document
  document.close();
  

Summary

Public constructors
PrintedPdfDocument(context: Context, attributes: PrintAttributes)

Creates a new document.

Public methods
open Rect

Gets the content rectangle.

open Int

Gets the page height.

open Int

Gets the page width.

open PdfDocument.Page
startPage(pageNumber: Int)

Starts a new page.

Inherited functions

Public constructors

PrintedPdfDocument

Added in API level 19
PrintedPdfDocument(
    context: Context,
    attributes: PrintAttributes)

Creates a new document.

Note: You must close the document after you are done by calling close().

Parameters
context Context: Context instance for accessing resources. This value cannot be null.
attributes PrintAttributes: The print attributes. This value cannot be null.

Public methods

getPageContentRect

Added in API level 19
open fun getPageContentRect(): Rect

Gets the content rectangle. This is the area of the page that contains printed data and is relative to the page top left.

Return
Rect The content rectangle. This value cannot be null.

getPageHeight

Added in API level 19
open fun getPageHeight(): Int

Gets the page height.

Return
Int The page height in PostScript points (1/72th of an inch). Value is 0 or greater

getPageWidth

Added in API level 19
open fun getPageWidth(): Int

Gets the page width.

Return
Int The page width in PostScript points (1/72th of an inch). Value is 0 or greater

startPage

Added in API level 19
open fun startPage(pageNumber: Int): PdfDocument.Page

Starts a new page. The page is created using width, height and content rectangle computed from the print attributes passed in the constructor and the given page number to create an appropriate PageInfo.

After the page is created you can draw arbitrary content on the page's canvas which you can get by calling Page.getCanvas(). After you are done drawing the content you should finish the page by calling finishPage(android.graphics.pdf.PdfDocument.Page). After the page is finished you should no longer access the page or its canvas.

Note: Do not call this method after close(). Also do not call this method if the last page returned by this method is not finished by calling finishPage(android.graphics.pdf.PdfDocument.Page).

Parameters
pageNumber Int: The page number. Must be a non negative. Value is 0 or greater
Return
PdfDocument.Page A blank page. This value cannot be null.