PrintedPdfDocument


public class PrintedPdfDocument
extends PdfDocument

java.lang.Object
   ↳ 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, PrintAttributes attributes)

Creates a new document.

Public methods

Rect getPageContentRect()

Gets the content rectangle.

int getPageHeight()

Gets the page height.

int getPageWidth()

Gets the page width.

PdfDocument.Page startPage(int pageNumber)

Starts a new page.

Inherited methods

void close()

Closes this document.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

void finishPage(PdfDocument.Page page)

Finishes a started page.

List<PdfDocument.PageInfo> getPages()

Gets the pages of the document.

PdfDocument.Page startPage(PdfDocument.PageInfo pageInfo)

Starts a page using the provided PageInfo.

void writeTo(OutputStream out)

Writes the document to an output stream.

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

PrintedPdfDocument

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

Creates a new document.

Note: You must close the document after you are done by calling PdfDocument.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
public Rect getPageContentRect ()

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

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

getPageHeight

Added in API level 19
public int getPageHeight ()

Gets the page height.

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

getPageWidth

Added in API level 19
public int getPageWidth ()

Gets the page width.

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

startPage

Added in API level 19
public PdfDocument.Page startPage (int pageNumber)

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 PdfDocument.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 PdfDocument.close(). Also do not call this method if the last page returned by this method is not finished by calling PdfDocument.finishPage(android.graphics.pdf.PdfDocument.Page).

Parameters
pageNumber int: The page number. Must be a non negative. Value is 0 or greater

Returns
PdfDocument.Page A blank page. This value cannot be null.