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