Reads a PDF using Klyn's own parser, without an external PDF engine. Objects and page contents are decoded on demand. No scripts, actions or external resources embedded in a PDF are executed or fetched.
Supports classic cross-reference tables, cross-reference/object streams, incremental revisions, inherited page resources and Unicode font maps. Encrypted files and unsupported text encodings/filters raise PDFException. This reader extracts existing text; it does not rasterize pages or perform OCR. This initial API is read-only: writing or editing PDFs is not implemented. Supported stream filters are Flate, ASCIIHex, ASCII85 and RunLength, including TIFF/PNG predictors. Text extraction supports horizontal fonts with ToUnicode, StandardEncoding or WinAnsiEncoding, and standard Symbol/Dingbats encodings. Inline images, ActualText replacement spans, vertical fonts, external CMaps, and arbitrary Type3 font matrices are not supported and raise PDFException. Instances are not thread-safe; use one document per concurrent reader.