Table of Contents
State of the implementation
For an overview, the implementation status is commented here following the structure of the PDF specification.
Although many pieces are not implemented, the base machinery is fully functional. Most of the missing features are not frequently used. If you need them, it is rather easy to implement them with the PDF specification and all the examples in the library.
Chapter 7: Syntax
<table class="wikitable">
<tbody><tr>
<th> Chapter
</th><th> Topic
</th><th> Status
</th></tr>
<tr>
<td> 7.3
</td><td> Object
</td><td bgcolor="#ccffcc"> fully implemented with tests
</td></tr>
<tr>
<td> 7.4
</td><td> Filters
</td><td>
</td></tr>
<tr>
<td> 7.4.2
</td><td> ASCIIHexDecode
</td><td bgcolor="#ccffcc"> fully implemented with tests
</td></tr>
<tr>
<td> 7.4.3
</td><td> ASCII85Decode
</td><td bgcolor="ccffcc"> fully implemented with tests
</td></tr>
<tr>
<td> 7.4.4
</td><td> LZWDecode
</td><td bgcolor="#ffff99"> partly implemented (using zlib), no tests
</td></tr>
<tr>
<td> 7.4.4
</td><td> FlateDecode
</td><td bgcolor="ccffcc"> fully implemented (using zlib) with tests
</td></tr>
<tr>
<td> 7.4.5
</td><td> RunLengthDecode
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 7.4.6
</td><td> CCITTFaxDecode
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 7.4.7
</td><td> JBIG2Decode
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 7.4.8
</td><td> DCTDecode
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 7.4.9
</td><td> JPXDecode
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 7.4.10
</td><td> Crypt
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 7.5
</td><td> File Structure
</td><td bgcolor="ccffcc"> fully implemented with tests
</td></tr>
<tr>
<td> 7.6
</td><td> Encryption
</td><td bgcolor="#ffcccc"> not implemented, encrypted strings are recognized
</td></tr>
<tr>
<td> 7.7
</td><td> Document Structure
</td><td bgcolor="ccffcc"> fully implemented with tests
</td></tr>
<tr>
<td> 7.8
</td><td> Content Streams and Resources
</td><td bgcolor="ccffcc"> fully implemented with tests
</td></tr>
<tr>
<td> 7.9
</td><td> Common Data Structures
</td><td bgcolor="ccffcc"> fully implemented with tests
</td></tr>
<tr>
<td> 7.10
</td><td> Functions
</td><td bgcolor="ccffcc"> fully implemented with tests
</td></tr>
<tr>
<td> 7.11
</td><td> File Specifications
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 7.12
</td><td> Extensions Dictionary
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr></tbody></table>
Chapter 8: Graphics
<table class="wikitable">
<tbody><tr>
<th> Chapter
</th><th> Topic
</th><th> Status
</th></tr>
<tr>
<td> 8.1 - 8.5
</td><td> Graphics Operators
</td><td bgcolor="#ffff99"> Ongoing work. Operators are implemented and the Graphics State is modeled.
</td></tr>
<tr>
<td> 8.6
</td><td> Colour Spaces
</td><td bgcolor="#ffff99"> All colour spaces are recognized, but only DeviceGray, DeviceCMYK and DeviceRGB are usable with a renderer
</td></tr>
<tr>
<td> 8.7
</td><td> Patterns
</td><td>
</td></tr>
<tr>
<td> 8.7.3
</td><td> Tiling Patterns
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 8.7.4
</td><td> Shading Patterns
</td><td bgcolor="#ccffcc"> implemented
</td></tr>
<tr>
<td> 8.8
</td><td> External Objects
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 8.9
</td><td> Images
</td><td bgcolor="#ccffcc"> implemented with tests, except for inline images
</td></tr>
<tr>
<td> 8.10
</td><td> Form XObjects
</td><td>
</td></tr>
<tr>
<td> 8.10.3
</td><td> Group XObjects
</td><td bgcolor="#ccffcc"> implemented as needed for transparency
</td></tr>
<tr>
<td> 8.10.4
</td><td> Reference XObjects
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 8.11
</td><td> Optional Content
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr></tbody></table>
Chapter 9: Text
<table class="wikitable">
<tbody><tr>
<th> Chapter
</th><th> Topic
</th><th> Status
</th></tr>
<tr>
<td> 9.2 - 9.4
</td><td> Text Operators and Objects
</td><td bgcolor="#ccffcc"> implemented
</td></tr>
<tr>
<td> 9.6
</td><td> Simple Fonts
</td><td bgcolor="#ffff99"> implemented for Type-1 and OpenType(PS), not TrueType, not OpenType(TT)
</td></tr>
<tr>
<td> 9.7
</td><td> Composite Fonts
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 9.8
</td><td> Font Descriptors
</td><td bgcolor="#ffff99"> implemented for simple fonts
</td></tr>
<tr>
<td> 9.9
</td><td> Embedded Font Programs
</td><td bgcolor="#ffff99"> implemented for Type-1 and OpenType(PS), not TrueType, not OpenType(TT)
</td></tr>
<tr>
<td> 9.10
</td><td> Extraction of Text Content
</td><td bgcolor="#ffcccc"> not implemented
</td></tr></tbody></table>
Chapter 10: Rendering
<table class="wikitable">
<tbody><tr>
<th> Chapter
</th><th> Topic
</th><th> Status
</th></tr>
<tr>
<td>10.2</td>
<td>CIE-Based Colour to Device Colour</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>10.3</td>
<td>Conversions among Device Colour Spaces</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>10.4</td>
<td>Transfer Functions</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>10.5</td>
<td>Halftones</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>10.6</td>
<td>Scan Conversion Details</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
</tbody></table>
Chapter 11: Transparency
<table class="wikitable">
<tbody><tr>
<th> Chapter
</th><th> Topic
</th><th> Status
</th></tr>
<tr>
<td>11.6
</td><td>Specifying Transparency in PDF
</td><td bgcolor="#ccffcc"> implemented
</td></tr></tbody></table>
Chapter 12: Interactive Features
<table class="wikitable">
<tbody><tr>
<th> Chapter
</th><th> Topic
</th><th> Status
</th></tr>
<tr>
<td>12.2</td>
<td>Viewer Preferences</td>
<td bgcolor="#ccffcc"> implemented</td>
</tr>
<tr>
<td>12.3</td>
<td>Document-Level Navigation</td>
<td bgcolor="#ffcccc"> not implemented (support for Destinations and Outlines)</td>
</tr>
<tr>
<td>12.4</td>
<td>Page-Level Navigation</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>12.5</td>
<td>Annotations</td>
<td bgcolor="#ccffcc"> implemented</td>
</tr>
<tr>
<td>12.6</td>
<td>Actions</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>12.7</td>
<td>Interactive Forms</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>12.8</td>
<td>Digital Signatures</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>12.9</td>
<td>Measurements Properties</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>12.10</td>
<td>Document Requirements</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
</tbody></table>
Chapter 13: Multimedia Features
<table class="wikitable">
<tbody><tr>
<th> Chapter
</th><th> Topic
</th><th> Status
</th></tr>
<tr>
<td>13.2</td>
<td>Multimedia</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>13.3</td>
<td>Sounds</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>13.4</td>
<td>Movies</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>13.5</td>
<td>Alternate Presentations</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
<tr>
<td>13.6</td>
<td>3D Artwork</td>
<td bgcolor="#ffcccc"> not implemented</td>
</tr>
</tbody></table>
Chapter 14: Document Interchange
<table class="wikitable">
<tbody><tr>
<th> Chapter
</th><th> Topic
</th><th> Status
</th></tr>
<tr>
<td> 14.2
</td><td> Procedure Sets
</td><td bgcolor="#ccffcc"> implemented
</td></tr>
<tr>
<td> 14.3
</td><td> Metadata
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 14.4
</td><td> File Identifiers
</td><td bgcolor="#ccffcc"> implemented
</td></tr>
<tr>
<td> 14.5
</td><td> Page-Piece Dictionaries
</td><td bgcolor="#ccffcc"> implemented
</td></tr>
<tr>
<td> 14.6
</td><td> Marked Content
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 14.7
</td><td> Logical Structure
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 14.8
</td><td> Tagged PDF
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 14.9
</td><td> Accessibility Support
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 14.10
</td><td> Web Capture
</td><td bgcolor="#ffcccc"> not implemented
</td></tr>
<tr>
<td> 14.11
</td><td> Prepress Support
</td><td bgcolor="#ffcccc"> not implemented
</td></tr></tbody></table>