Page
class Page : AutoCloseable
kotlin.Any | |
↳ | android.graphics.pdf.PdfRenderer.Page |
This class represents a PDF document page for rendering.
Summary
Constants | |
---|---|
static Int |
Mode to render the content for display on a screen. |
static Int |
Mode to render the content for printing. |
Public methods | |
---|---|
MutableList<Rect!> |
applyEdit(editRecord: FormEditRecord) Applies a |
Unit |
close() Closes this page. |
FormWidgetInfo |
getFormWidgetInfoAtIndex(widgetIndex: Int) Returns information about the widget with |
FormWidgetInfo |
getFormWidgetInfoAtPosition(x: Int, y: Int) Returns information about the widget at the given point. |
MutableList<FormWidgetInfo!> |
Returns information about all form widgets on the page, or an empty list if there are no form widgets on the page. |
MutableList<FormWidgetInfo!> |
getFormWidgetInfos(types: IntArray) Returns information about all form widgets of the specified types on the page, or an empty list if there are no form widgets of the specified types on the page. |
MutableList<PdfPageGotoLinkContent!> |
Gets bookmarks and goto links present on the page of a pdf document. |
Int |
Returns the height of the |
MutableList<PdfPageImageContent!> |
Return list of |
Int |
getIndex() Gets the page index. |
MutableList<PdfPageLinkContent!> |
Get the bounds and URLs of all the links on the page. |
MutableList<PdfPageTextContent!> |
Return list of |
Int |
getWidth() Returns the width of the |
Unit |
Renders a page to a bitmap. |
Unit |
render(destination: Bitmap, destClip: Rect?, transform: Matrix?, params: RenderParams) Renders a page to a bitmap. |
MutableList<PageMatchBounds!> |
searchText(query: String) Search for the given string on the page and returns the bounds of all the matches. |
PageSelection? |
selectContent(start: SelectionBoundary, stop: SelectionBoundary) Return a |
Protected methods | |
---|---|
Unit |
finalize() |
Constants
RENDER_MODE_FOR_DISPLAY
static val RENDER_MODE_FOR_DISPLAY: Int
Mode to render the content for display on a screen.
Value: 1
RENDER_MODE_FOR_PRINT
static val RENDER_MODE_FOR_PRINT: Int
Mode to render the content for printing.
Value: 2
Public methods
applyEdit
fun applyEdit(editRecord: FormEditRecord): MutableList<Rect!>
Applies a FormEditRecord
to the PDF.
Apps must call render(android.graphics.Bitmap,android.graphics.Rect,android.graphics.Matrix,android.graphics.pdf.RenderParams)
to render new bitmaps for the corresponding areas of the page.
For click type FormEditRecord
s, performs a click on android.graphics.pdf.models.FormEditRecord#getClickPoint()
For set text type FormEditRecord
s, sets the text value of the form widget.
For set indices type FormEditRecord
s, sets the android.graphics.pdf.models.FormEditRecord#getSelectedIndices()
as selected and all others as unselected for the form widget indicated by the record.
Parameters | |
---|---|
editRecord |
FormEditRecord: the FormEditRecord to be applied This value cannot be null . |
Return | |
---|---|
MutableList<Rect!> |
Rectangular areas of the page bitmap that have been invalidated by this action. This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the provided FormEditRecord cannot be applied to the widget indicated by the index, or if the index does not correspond to a widget on the page. |
java.lang.IllegalStateException |
If the page is already closed. |
close
fun close(): Unit
Closes this page.
Exceptions | |
---|---|
java.lang.Exception |
if this resource cannot be closed |
getFormWidgetInfoAtIndex
fun getFormWidgetInfoAtIndex(widgetIndex: Int): FormWidgetInfo
Returns information about the widget with widgetIndex
.
Parameters | |
---|---|
widgetIndex |
Int: the index of the widget within the page's "Annot" array in the PDF document, available on results of previous calls to getFormWidgetInfos(int[]) or getFormWidgetInfoAtPosition(int,int) via FormWidgetInfo#getWidgetIndex() . Value is 0 or greater |
Return | |
---|---|
FormWidgetInfo |
This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if there is no form widget at the provided index. |
java.lang.IllegalStateException |
if the renderer or page is closed |
getFormWidgetInfoAtPosition
fun getFormWidgetInfoAtPosition(
x: Int,
y: Int
): FormWidgetInfo
Returns information about the widget at the given point.
Parameters | |
---|---|
x |
Int: the x position of the widget on the page, in points |
y |
Int: the y position of the widget on the page, in points |
Return | |
---|---|
FormWidgetInfo |
This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if there is no form widget at the provided position. |
java.lang.IllegalStateException |
if the renderer or page is closed |
getFormWidgetInfos
fun getFormWidgetInfos(): MutableList<FormWidgetInfo!>
Returns information about all form widgets on the page, or an empty list if there are no form widgets on the page.
Return | |
---|---|
MutableList<FormWidgetInfo!> |
This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
if the renderer or page is closed |
getFormWidgetInfos
fun getFormWidgetInfos(types: IntArray): MutableList<FormWidgetInfo!>
Returns information about all form widgets of the specified types on the page, or an empty list if there are no form widgets of the specified types on the page.
Parameters | |
---|---|
types |
IntArray: the types of form widgets to return, or an empty array to return all widgets This value cannot be null . |
Return | |
---|---|
MutableList<FormWidgetInfo!> |
This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
if the renderer or page is closed |
getGotoLinks
fun getGotoLinks(): MutableList<PdfPageGotoLinkContent!>
Gets bookmarks and goto links present on the page of a pdf document. Goto Links are the internal navigation links which directs the user to different location within the same document.
Return | |
---|---|
MutableList<PdfPageGotoLinkContent!> |
list of all goto links PdfPageGotoLinkContent on a page, ordered left to right and top to bottom. This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
getHeight
fun getHeight(): Int
Returns the height of the PdfRenderer.Page
object in points (1/72"). It is not guaranteed that all pages will have the same height and the viewport should be resized to the page height.
Return | |
---|---|
Int |
height of the page Value is 0 or greater |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
getImageContents
fun getImageContents(): MutableList<PdfPageImageContent!>
Return list of PdfPageImageContent
found on the page, ordered left to right and top to bottom. It contains all the content associated with images found on the page including alt text. The list will be empty if there are no results found. Currently, localisation does not have any impact on the order in which PdfPageImageContent
is returned.
Return | |
---|---|
MutableList<PdfPageImageContent!> |
list of image content found on the page. This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
getIndex
fun getIndex(): Int
Gets the page index.
Return | |
---|---|
Int |
The index. Value is 0 or greater |
getLinkContents
fun getLinkContents(): MutableList<PdfPageLinkContent!>
Get the bounds and URLs of all the links on the page.
Return | |
---|---|
MutableList<PdfPageLinkContent!> |
list of all links on the page. This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
getTextContents
fun getTextContents(): MutableList<PdfPageTextContent!>
Return list of PdfPageTextContent
found on the page, ordered left to right and top to bottom. It contains all the content associated with text found on the page. The list will be empty if there are no results found. Currently, localisation does not have any impact on the order in which PdfPageTextContent
is returned.
Return | |
---|---|
MutableList<PdfPageTextContent!> |
list of text content found on the page. This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
getWidth
fun getWidth(): Int
Returns the width of the PdfRenderer.Page
object in points (1/72"). It is not guaranteed that all pages will have the same width and the viewport should be resized to the page width.
Return | |
---|---|
Int |
width of the page Value is 0 or greater |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
render
fun render(
destination: Bitmap,
destClip: Rect?,
transform: Matrix?,
renderMode: Int
): Unit
Renders a page to a bitmap.
You may optionally specify a rectangular clip in the bitmap bounds. No rendering outside the clip will be performed, hence it is your responsibility to initialize the bitmap outside the clip.
You may optionally specify a matrix to transform the content from page coordinates which are in points (1/72") to bitmap coordinates which are in pixels. If this matrix is not provided this method will apply a transformation that will fit the whole page to the destination clip if provided or the destination bitmap if no clip is provided.
The clip and transformation are useful for implementing tile rendering where the destination bitmap contains a portion of the image, for example when zooming. Another useful application is for printing where the size of the bitmap holding the page is too large and a client can render the page in stripes.
Note: The destination bitmap format must be ARGB
.
Note: The optional transformation matrix must be affine as per Matrix.isAffine()
. Hence, you can specify rotation, scaling, translation but not a perspective transformation.
Parameters | |
---|---|
destination |
Bitmap: Destination bitmap to which to render. This value cannot be null . |
destClip |
Rect?: Optional clip in the bitmap bounds. This value may be null . |
transform |
Matrix?: Optional transformation to apply when rendering. This value may be null . |
renderMode |
Int: The render mode. Value is android.graphics.pdf.PdfRenderer.Page#RENDER_MODE_FOR_DISPLAY , or android.graphics.pdf.PdfRenderer.Page#RENDER_MODE_FOR_PRINT |
render
fun render(
destination: Bitmap,
destClip: Rect?,
transform: Matrix?,
params: RenderParams
): Unit
Renders a page to a bitmap. In case of default zoom, the Bitmap
dimensions will be equal to the page dimensions. In this case, Rect
parameter can be null.
In case of zoom, the Rect
parameter needs to be specified which represents the offset from top and left for tile generation purposes. In this case, the Bitmap
dimensions should be equal to the tile dimensions.
Note: The method will take care of closing the bitmap. Should be invoked on the android.annotation.WorkerThread
as it is long-running task.
Parameters | |
---|---|
destination |
Bitmap: Destination bitmap to write to. This value cannot be null . |
destClip |
Rect?: If null, default zoom is applied. In case the value is non-null, the value specifies the top top-left corner of the tile. |
transform |
Matrix?: Applied to scale the bitmap up/down from default 1/72 points. This value may be null . |
params |
RenderParams: Render params for the changing display mode and/or annotations. This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
searchText
fun searchText(query: String): MutableList<PageMatchBounds!>
Search for the given string on the page and returns the bounds of all the matches. The list will be empty if there are no matches on the page. If this function was invoked previously for any page, it will wait for that operation to complete before this operation is started.
Note: Should be invoked on the android.annotation.WorkerThread
as it is long-running task.
Parameters | |
---|---|
query |
String: plain search string for querying the document This value cannot be null . |
Return | |
---|---|
MutableList<PageMatchBounds!> |
List of PageMatchBounds representing the bounds of each match on the page. This value cannot be null . |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
selectContent
fun selectContent(
start: SelectionBoundary,
stop: SelectionBoundary
): PageSelection?
Return a PageSelection
which represents the selected content that spans between the two boundaries. The boundaries can be either exactly defined with text indexes, or approximately defined with points on the page. The resulting selection will also be exactly defined with both indexes and points. If the start and stop boundary are both at the same point, selects the word at that point. In case the selection from the given boundaries result in an empty space, then the method returns null
. The start and stop SelectionBoundary
in PageSelection
resolves to the "nearest" index when returned.
Note: Should be invoked on a android.annotation.WorkerThread
as it is long-running task.
Parameters | |
---|---|
start |
SelectionBoundary: boundary where the selection starts (inclusive) This value cannot be null . |
stop |
SelectionBoundary: boundary where the selection stops (exclusive) This value cannot be null . |
Return | |
---|---|
PageSelection? |
collection of the selected content for text, images, etc. |
Exceptions | |
---|---|
java.lang.IllegalStateException |
If the document/page is closed before invocation. |
Protected methods
finalize
protected fun finalize(): Unit
Exceptions | |
---|---|
java.lang.Throwable |
the Exception raised by this method |