Abstract data provider that handles serving a PDF document from an InputStream. Since
viewing the PDF document needs random access, this class wraps the logic for re-opening the
stream for backwards-seek operations. Subclasses need to override the
method, which needs to return a new
InputStream instance every time it is called.
read(long size, long offset)
(long size, long offset)
Returns the current position inside the read
InputStream. Every read operation on the
data provider will increase this position. To reset the read position to
- The current input stream position (in bytes).
Subclasses need to override this method and return a readable input stream which servers the
PDF document. This method must return a new
every time it is called. This is necessary so
InputStreamDataProvider can actually
"simulate" random data access on the underlying stream.
- A new instance of the InputStream that servers the PDF document.
||If the implementation fails to open the input stream for reading.
Close the internal input stream and reopen it. This is used to rewind the stream, if it is
necessary to "seek backwards". Subclasses may call this method to safely rewind the stream to
||If the implementation fails to close or open the input stream for reading.