PDFBox is aiming to support PDF files inline with the ISO-32000 (PDF) Specification ISO Site Adobe Version
The following table outlines the status of the implementation of various part of the PDF specification as well as the reference to the java packages and classes implementing these.
The table below is work in progress as we enhance our documentation. If you find errors within please report the [issue](https://issues.apache.org/jira/browse/pdfbox).
For easier reading the package names are abbreviated. o.a.p is used instead of org.apache.pdfbox.
Citation | Description | PDFBox class or package | Notes |
---|---|---|---|
7.2 | Lexical Conventions | The conventions are generally followed. There is no specific implementation. | |
7.3 | Objects | o.a.p.cos | |
7.4 | Filters | o.a.p.filter | |
7.4.2 | ASCIIHexDecode Filter | o.a.p.filter.ASCIIHexFilter | |
7.4.3 | ASCII85Decode Filter | o.a.p.filter.ASCII85Filter | |
7.4.4 | LZWDecode and FlateDecode | o.a.p.filter.LZWFilter, o.a.p.filter.FlateFilter | |
7.4.5 | RunLengthDecode Filter | o.a.p.filter.RunLengthDecodeFilter | only for decoding |
7.4.6 | CCITTFaxDecode Filter | o.a.p.filter.CCITTFaxDecodeFilter | only for decoding |
7.4.7 | JBIG2Decode Filter | o.a.p.filter.JBIG2Filter | only for decoding |
7.4.8 | DCTDecode Filter | o.a.p.filter.DCTFilter | not implemented |
7.4.9 | JPXDecode Filter | o.a.p.filter.JPXFilter | only for decoding |
7.4.10 | Crypt Filter | o.a.p.filter.CryptFilter | only Identity filter |
7.5 | File Structure | see details below | |
7.5.2 | File Header | supported | |
7.5.3 | File Body | supported | |
7.5.4 | Cross-Reference Table | supported | |
7.5.5 | File Trailer | supported | |
7.5.6 | Incremental Updates | reading supported; writing supported only for signing | |
7.5.7 | Object Streams | o.a.p.cos.COSStream | |
7.5.8 | Cross-Reference Streams | o.a.p.parsers.PDFXrefStreamParser | only for reading a PDF. Not supported for writing. Hybrid-reference [7.5.8.4] not supported |
7.6 | Encryption | org.apache.pdfbox.pdmodel.encryption | to be documented |
7.7 | Document Structure | see details below | |
7.7.2 | Document Catalog | o.a.p.pdmodel.PDDocumentCatalog | |
7.7.3 | Page Tree | see details below | |
7.7.3.2 | Page Tree Nodes | o.a.p.pdmodel.PDPageNode | |
7.7.3.3 | Page Object | o.a.p.pdmodel.PDPage | |
7.7.4 | Name Dictionary | ||
7.8 | Content Streams and Resources | see details below | |
7.8.2 | Content Streams | needs documentation | |
7.8.3 | Resource Dictionaries | o.a.p.pdmodel.PDResources | |
7.9 | Common Data Structures | see details below | |
7.9.2 | String Object Types | supported | |
7.9.3 | Text Streams | ||
7.9.4 | Dates | ||
7.9.5 | Rectangles | o.a.p.pmodel.common.PDRectangle | |
7.9.6 | Name Trees | o.a.p.pdmodel.common.PDNameTreeNode | |
7.9.7 | Number Trees | o.a.p.pdmodel.common.PDNumberTreeNode | |
7.10 | Functions | o.a.p.pdmodel.common.function | |
7.11 | File Specifications | o.a.p.pdmodel.common.filespecification | |
7.12 | ExtensionsDictionary | ||
8 | Graphics | o.a.p.pdmodel.graphics | needs more details |
8.1 | Graphics Objects | ||
8.3 | Coordinate Systems | ||
8.4 | Graphics State | ||
8.5 | Path Construction and Painting | ||
8.6 | Colour Spaces | o.a.p.pdmodel.graphics.color | |
8.7 | Patterns | o.a.p.pdmodel.graphics.pattern | |
8.8 | External Objects | o.a.p.pdmodel.graphics.xobject | |
8.9 | Images | o.a.p.pdmodel.graphics.xobject | |
8.10 | Form XObjects | o.a.p.pdmodel.graphics.xobject | |
8.11 | Optional Content | o.a.p.pdmodel.graphics.optionalcontent | |
9 | Text | ||
9.2 | Organization and Use of Fonts | ||
9.3 | Text State Parameters and Operators | ||
9.4 | Text Objects | ||
9.5 | Introduction to Font Data Structures | Introductory part, no implementation needed | |
9.6 | Simple Fonts | o.a.p.pdmodel.font | see details below |
9.6.2 | Type 1 Fonts | o.a.p.pdmodel.font.PDType1Font | Multiple Master Fonts are not supported. |
9.6.3 | TrueType Fonts | o.a.p.pdmodel.font.PDTrueTypeFont | |
9.6.4 | Font Subsets | Reading is supported. No subsetting will happen when writing new files. | |
9.6.5 | Type 3 Fonts | o.a.p.pdmodel.font.PDType3Font | |
9.6.6 | Character Encoding | o.a.p.encoding | |
9.7 | Composite Fonts | o.a.p.pdmodel.font | |
9.7.4 | CIDFonts | o.a.p.pdmodel.font.PDCIDFontType0Font, o.a.p.pdmodel.font.PDCIDFontType2Font | |
9.8 | Font Descriptors | ||
9.9 | Embedded Font Programs | ||
9.10 | Extraction of Text Content | ||
10 | Rendering | ||
11 | Transparency | ||
12 | Interactive Features | ||
12.2 | Viewer Preferences | org.apache.pdfbox.pdmodel.interactive.viewerpreferences | |
12.3 | Document-Level Navigation |