Known Indirect Subclasses
A data provider is allows PSPDFKit to load a PDF document for any custom source (e.g. cloud providers, files, in-memory, data providers, etc.).
Classes implementing this interface need to implement all methods correctly to allow PSPDFKit loading documents.
Furthermore, if classes with this interface are meant to be used with
PdfActivity, they must also implement
Parcelable. If you plan to use the
DataProvider only for
PdfFragment parcelation code is not necessary.
All callbacks will be called on a background thread.
|int||FILE_SIZE_UNKNOWN||Constant value that can be return in
|public static final byte||NO_DATA_AVAILABLE||Constant value that can be returned in
Return the actual file size of the PDF document which is provided by this data provider.
Displayable document title to be used if PDF document does not contain metadata.
Unique document identifier used in all caching processes in PSPDFKit.
read(long size, long offset)
Called by PSPDFKit to read data from the document.
Called when the provided document is being closed.
Return the actual file size of the PDF document which is provided by this data provider. If the data provider
can't determine the correct file size (e.g. in case of an error) this method has to return
FILE_SIZE_UNKNOWNin case of an error.
Displayable document title to be used if PDF document does not contain metadata. For example, for file-based providers this should return the filename. `.pdf` extensions will be stripped automatically.
Unique document identifier used in all caching processes in PSPDFKit. Must be equal or shorter than 50 chars. This method must be implemented for caching to work properly.
nullor an exception will be thrown.
Called by PSPDFKit to read data from the document. The returned byte array can be reused in subsequent calls to prevent excessive allocations.
|size||Size of the data chunk to be read in bytes.|
|offset||Offset from start of document of the data chunk to be read in bytes.|
nullor loading will fail. Instead, when experiencing a read error, implementations may return
NO_DATA_AVAILABLEto safely stop reading.
Called when the provided document is being closed. Implementations are expected to release all resources (like closing of all streams and freeing of allocations).