Implementation Status

This page gives an overview of which features of PDF 1.7 are implemented in HexaPDF.

At a glance: Reading and writing files with and without encryption works. Damaged files can also be recovered in many cases. Validation is available for all implemented dictionary types.

PDF 1.7 Feature Status Comment
1 Scope   Just info
2 Conformance   Just info
3 Normative references   A list of reference docs
4 Terms and definitions   A list of PDF related terms
5 Notation   Just info
6 Version Designations   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.5.1 General  
7.5.2 File Header  
7.5.3 Body  
7.5.4 Cross-Reference Table  
7.5.5 File Trailer  
7.5.6 Incremental Updates Read only
7.5.7 Object Streams  
7.5.8 Cross-Reference Streams  
7.6 Encryption   Followed PDF2.0 spec
7.6.1 General EFF is not supported
7.6.2 General Encryption Algorithm  
7.6.3 Standard Security Handler  
7.6.4 Public-Key Security Handler  
7.6.4 Crypt Filters Don’t seem to be used much
7.7 Document Structure    
7.7.1 General Just info
7.7.2 Document Catalog  
7.7.3 Page Tree  
7.7.4 Name Dictionary  
7.8 Content Streams and Resources    
7.8.1 General Just info
7.8.3 Resource Dictionaries  
7.9 Common Data Structures    
7.9.1 General Just info
7.9.2 String Object Types  
7.9.3 Text Streams  
7.9.4 Dates  
7.9.5 Rectangles  
7.9.6 Name Trees  
7.9.7 Number Trees  
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.4.1 General Except device-dependent parameters
8.4.2 Graphics Stack State  
8.4.3 Details of Graphics State Parameters  
8.4.4 Graphics State Operators  
8.4.5 Graphics State Parameter Dictionaries  
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.8.1 General  
8.8.2 PostScript XObjects Not really useful
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  
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  
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