Implementation Status
This page gives an overview of which features of the PDF 2.0 specification are implemented in HexaPDF. The PDF 2.0 specification is freely available courtesy of the PDF Association and corporate sponsors, see https://www.pdfa-inc.org/product/iso-32000-2-pdf-2-0-bundle-sponsored-access/.
In addition to the implemented parts of the specification, there also many work-arounds for dealing with damaged or invalid files.
PDF 2.0 Feature | Status | Comment |
---|---|---|
1 Scope | Just info | |
2 Normative references | A list of reference docs | |
3 Terms and definitions | A list of PDF related terms | |
4 Notation | Just info | |
5 Version designations | Just info | |
6 Conformance | Just info | |
7 Syntax | ||
7.1 General | ☑ | Just info |
7.2 Lexical conventions | ☑ | |
7.3 Objects | ☑ | |
7.4 Filters | ||
7.4.1 General | ☑ | |
7.4.2 ASCIIHexDecode filter | ☑ | |
7.4.3 ASCII85Decode filter | ☑ | |
7.4.4 LZWDecode and FlateDecode filters | ☑ | Parameter “EarlyChange” is not supported |
7.4.5 RunLengthDecode filter | ☑ | |
7.4.6 CCITTFaxDecode filter | ☑ | Implemented as pass-through |
7.4.7 JBIG2Decode filter | ☑ | Implemented as pass-through |
7.4.8 DCTDecode filter | ☑ | Implemented as pass-through |
7.4.9 JPXDecode filter | ☑ | Implemented as pass-through |
7.4.10 Crypt Filter | ☐ | |
7.5 File Structure | ☑ | |
7.6 Encryption | ||
7.6.1 General | ☑ | Just info |
7.6.2 Application of encryption | ☑ | EFF is not supported |
7.6.3 General encryption algorithm | ☑ | |
7.6.4 Standard security handler | ☑ | |
7.6.5 Public-key security handler | ☐ | |
7.6.6 Crypt filters | ☐ | Don’t seem to be used much |
7.6.7 Unencrypted wrapper document | ☐ | |
7.7 Document structure | ☑ | |
7.8 Content streams and resources | ☑ | |
7.9 Common data structures | ☑ | |
7.10 Functions | ☐ | |
7.11 File specifications | ☑ | |
7.12 Extensions dictionary | ☐ | |
8 Graphics | ||
8.1 General | ☑ | Just info |
8.2 Graphics objects | ☑ | |
8.3 Coordinate systems | ☑ | |
8.4 Graphics state | ☑ | |
8.5 Path construction and painting | ☑ | |
8.6 Colour spaces | ||
8.6.1 General | ☑ | Just info |
8.6.2 Colour values | ☑ | |
8.6.3 Colour space families | ☑ | |
8.6.4 Device colour spaces | ☑ | |
8.6.5 CIE-Based colour spaces | ☐ | |
8.6.6 Special colour spaces | ☐ | |
8.6.7 Overprint control | ☑ | Not applicable |
8.6.8 Colour operators | ☑ | |
8.7 Patterns | ☐ | |
8.8 External objects | ☑ | |
8.9 Images | ||
8.9.1 General | ☑ | Just info |
8.9.2 Image parameters | ☑ | |
8.9.3 Sample representation | ☑ | |
8.9.4 Image coordinate system | ☑ | |
8.9.5 Image dictionaries | ☑ | |
8.9.6 Masked images | ☐ | |
8.9.7 Inline images | ☑ | Only parsing |
8.10 Form XObjects | ☑ | |
8.11 Optional content | ☑ | |
9 Text | No support for vertical writing | |
9.1 General | ☑ | Just info |
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 | ☑ | |
9.6 Simple fonts | ||
9.6.1 General | ☑ | Just info |
9.6.2 Type 1 fonts | ||
9.6.2.1 General | ☑ | Just info |
9.6.2.2 Standard Type 1 fonts (standard 14 fonts) (PDF 1.0-1.7) | ☑ | |
9.6.2.3 Multiple master fonts | ☐ | |
9.6.3 TrueType fonts | ☑ | |
9.6.4 Type 3 fonts | ☐ | |
9.6.5 Character encoding | ☑ | |
9.7 Composite fonts | ||
9.7.1 General | ☑ | Just info |
9.7.2 CID-Keyed fonts overview | ☑ | Just info |
9.7.3 CIDSystemInfo dictionaries | ☑ | |
9.7.4 CIDFonts | ☑ | Partially |
9.7.5 CMaps | ☑ | Partially |
9.7.6 Type 0 font dictionaries | ☑ | |
9.8 Font descriptors | ☑ | |
9.9 Embedded font programs | ☑ | TrueType fonts only |
9.10 Extraction of text content | ☑ | No CMap support for composite fonts |
10 Rendering | ☐ | HexaPDF does not support rendering PDFs |
11 Transparency | ||
11.1 General | ☑ | Just info |
11.2 Overview of transparency | ☑ | Just info |
11.3 Basic compositing computations | ☑ | Just info |
11.4 Transparency groups | ☑ | Just info |
11.5 Soft masks | ☑ | Just info |
11.6 Specifying transparency in PDF | ||
11.6.1 General | ☑ | Just info |
11.6.2 Specifying source and backdrop colours | ☑ | Just info |
11.6.3 Specifying blending colour space and blend mode | ☐ | |
11.6.4 Specifying shape and opacity | ||
11.6.4.1 General | ☑ | Just info |
11.6.4.2 Object shape and opacity | ☑ | Just info |
11.6.4.3 Mask shape and opacity | ☐ | |
11.6.4.4 Constant shape and opacity | ☑ | |
11.6.5 Specifying soft masks | ||
11.6.5.1 Soft-mask dictionaries | ☐ | |
11.6.5.2 Soft-mask images | ☐ | |
11.6.6 Transparency group XObjects | ☐ | |
11.6.7 Patterns and transparency | ☐ | |
11.7 Colour space and rendering issues | ☐ |
12 Interactive Features | ||
12.1 General | ☑ | Just info |
12.2 Viewer Preferences | ☑ | |
12.3 Document-Level Navigation | ||
12.3.1 General | Just info | |
12.3.2 Destinations | ☑ | |
12.3.3 Document Outline | ☑ | |
12.3.4 Thumbnail Images | ☑ | |
12.3.5 Collections | ||
12.4 Page-Level Navigation | ||
12.4.1 General | ☑ | Just info |
12.4.2 Page Labels | ☑ | |
12.4.3 Articles | ||
12.4.4 Presentations | ||
12.5 Annotations | ||
12.5.1 General | ||
12.5.2 Annotation Dictionaries | ☑ | |
12.5.3 Annotation Flags | Just manipulation, not used/respected yet | |
12.5.4 Border Styles | ☑ | Just for widgets |
12.5.5 Appearance Streams | ☑ | Just for widgets |
12.5.6 Annotation Types | ||
12.5.6.1 General | ☑ | Just info |
12.5.6.4 Text Annotation | ☑ | |
12.5.6.5 Link Annotation | ☑ | |
12.5.6.19 Widget Annotation | ☑ | |
12.6 Actions | ||
12.7 Interactive Forms | ||
12.7.1 General | ☑ | Just info |
12.7.2 Interactive Form Dictionary | ☑ | |
12.7.3 Field Dictionaries | ||
12.7.3.1 General | ☑ | |
12.7.3.2 Field Names | ☑ | |
12.7.3.3 Variable Text | ☑ | |
12.7.3.4 Rich Text Strings | ||
12.7.4 Field Types | ||
12.7.4.1 General | ☑ | Just info |
12.7.4.2 Button Fields | ☑ | No appearance generation for push buttons |
12.7.4.3 Text Fields | ☑ | |
12.7.4.4 Choice Fields | ☑ | |
12.7.4.5 Signature Fields | ||
12.8 Digital Signatures | ||
12.8.1 General | ☑ | Just info |
12.8.2 Transform Methods | ||
12.8.2.1 General | ☑ | Just info |
12.8.2.2 DocMDP | ☑ | |
12.8.3 Signature Interoperability | ||
12.8.3.1 General | ☑ | Just info |
12.8.3.2 PKCS#1 Signatures | ☑ | |
12.8.3.3 PKCS#7 Signatures as used in ISO 32000 | ☑ | |
14 Document Interchange | ||
14.1 General | ☑ | Just info |
14.2 Procedure Sets | ☑ | |
14.3.3 Document Information Dictionary | ☑ | |
14.4 File Identifiers | ☑ | |
14.6 Marked Content | ☑ | |
14.7 Logical Structure | ||
14.7.1 General | ☑ | |
14.7.2 Structure Hierarchy | ☑ | |
14.7.3 Structure Types | ||
14.7.4 Structure Content | ||
14.7.5 Structure Attributes | ||
14.7.6 Example of Logical Structure | ||
14.11.2 Page Boundaries | ☑ |