## llpr **llpr** (low-level PDF reader) is intended to support applications which need fast access to raw PDF data streams. ### usage: - Instantiate a `PDFDocument` with `PDFDocument::new` which expects a `PDFSource`. Currently `ByteSource` and `ByteSliceSource` are supported which expect the PDF source to be a `Vec` and a `&[u8]` respectively. Other sources can be used by implementing the `Source` trait. - Once you've created a `PDFDocument` the `page_contents` function will accept a page number (zero-based) and return a `PageContents` object. Use the `page_count` function to determine how many pages are in the document. - Repeatedly call the `next_object` function on the `PageContents` object to retrieve `PdfObject`s. A `PDFObject` is **_really_** low-level. See `pdf_types.rs` for a definition. This crate may be useful for building up higher level abstractions but can't help you if you're looking for something that can easily extract text or images from a PDF file.