public interface

PdfProjection

com.pspdfkit.api.projection.PdfProjection

Class Overview

Projection between the normalized PDF coordinates and raw PDF coordinates. To retrieve an instance of this, use getPdfProjection(). For more information on coordinate spaces and coordinate conversions, please refer to our Coordinate Space Conversion online guide.

When working with coordinates on a PDF, PSPDFKit Java Library will use a normalized coordinate space for simplified handling. This normalized coordinate space follows the WYSWIG principle ("What you see is what you get"). Within the normalized coordinate space, the coordinate `[0,0]` denotes the bottom left corner of the displayed page, and `[page width, page height]` denotes the top right corner of the displayed page. Note that PSPDFKit already accounts for any rotation that might be applied to the page, as well as page cropping using the page's `CropBox`. This means that `[0,0]` will always mark the bottom left corner of a page, independent of its rotation or cropping.

While normalized coordinates greatly simplify coordinate handling for most scenarios, some use cases might require access to raw PDF coordinates. For those cases, this projection can be used to convert between PDF coordinates used by PSPDFKit, and the raw PDF coordinates that will be written into the underlying PDF document.

Summary

Public Methods
abstract Rect toPdfRect(Rect rect, int pageIndex)
Converts the coordinates stored within `rect` from the raw PDF coordinate space of the given `pageIndex` to the normalized PDF coordinate space (of the same page).
abstract Rect toRawRect(Rect rect, int pageIndex)
Converts the coordinates stored within `rect` from the normalized PDF coordinate space of the given `pageIndex` to the raw PDF coordinate space (of the same page).

Public Methods

public abstract Rect toPdfRect (Rect rect, int pageIndex)

Converts the coordinates stored within `rect` from the raw PDF coordinate space of the given `pageIndex` to the normalized PDF coordinate space (of the same page).

Parameters
rect Rect in raw coordinates on the given `pageIndex` that should be converted to raw PDF coordinates of the same page.
pageIndex Target page for the conversion (0 denotes the first page).
Throws
RuntimeException If the specified page doesn't exist.

public abstract Rect toRawRect (Rect rect, int pageIndex)

Converts the coordinates stored within `rect` from the normalized PDF coordinate space of the given `pageIndex` to the raw PDF coordinate space (of the same page).

Parameters
rect Rect in normalized PDF coordinates on the given `pageIndex` that should be converted to raw PDF coordinates of the same page.
pageIndex Target page for the conversion (0 denotes the first page).
Throws
RuntimeException If the specified page doesn't exist.