PDF format Implementation details
JPedal technical notes on PDF format implementation
last updated 20th December 2010
This document list areas of the PDF format specification and covers their implementation status. It refers to the latest full release for Java 1.5 and above.
Note on PDF format implementation
The pdf format specification was created by Adobe. This is a very large specification and leaves a number of undocumented and grey areas. JPedal currently implements about 85% of the Adobe specification. Our ultimate aim is 100%
Some PDF generators interpret the specification in different ways. Most of these should work with JPedal or can be made to work with minor modifications.
Implementation list
The following table gives details on implementation status.
| Feature | Current status | Comments |
| Colorspaces | ||
| DeviceRGB | ||
| CalRGB | ||
| DeviceGRAY | ||
| CalGRAY | ||
| ICC | ||
| indexed | ||
| Lab | ||
| DeviceCMYK | ||
| DeviceN | ||
| Pattern | Shading | Axial, function, Coons, Tensor, radial shading |
| XObjects | ||
| Images | ||
| XForms | ||
| Acroforms | ||
| Read FDF/XFA | ||
| Access FDF/XFA data | New methods and example in 3.20 | |
| Display FDF | Full AP support. Uses Swing widgetset. User can add own implementation. | |
| Open external FDF | Open an FDF file with an attached PDF file. | |
| Display static XFA | ||
| Dynamic Javascript validation | From 3.20 | |
| Javascript in forms | From 3.70 | |
| Add Listeners to form objects | All Acroform objects can have Java Listeners attached. | |
| Other Interactive features | ||
| Read Annotations | ||
| Standard Annotation display | ||
| Play sound Annotations | Added in 3.71 | |
| Standard Annotation features | URLs links, Stamp supported. | |
| Custom Annotation display option | Allow user to implement own display and add listeners | |
| Bookmarks | ||
| Fonts | ||
| Subsetted font support | ||
| Dynamically subsitute non-embedded fonts | Use Truetype, OpenType and font collections on machine via Java Font Library | |
| Embedded font support | Support for Truetype, OpenType, Type 1, CID fonts with embedded data uses IDRsolutions own internal renderer. | |
| Type0 | ||
| Type1 | ||
| Type1C | ||
| Type3 | ||
| TrueType | ||
| OpenType | ||
| CID0 | Not fully defined in pdf spec | |
| CID2 | Not fully defined in pdf spec | |
| Security | ||
| 40/128bit RC4 and AES encryption | AES from version 3.20 | |
| Certificates | Support to read Certificates and code to display in SimpleViewer sample app | |
| Adobe custom security | Not Implemented due to patent restrictions | |
| Filters | ||
| CCITT | ||
| DCT | ||
| JPG 2000 | ||
| Flate | ||
| LZW | ||
| Run Length Decode | ||
| Hex | ||
| Ascii85 | ||
| JBIG2 | Custom JBIG2 decoder written by IDRsolutions and available separately as well - used by our competitors... | |
| Other features | ||
| File metadata | ||
| 1.6 Compressed streams | ||
| PDF Layers | Added in version 3.60b15 | |
| Transparency | ||
| Linearized PDF (fast web view) | Added in 4.10 | |
| Tagged PDF text | PDF Printing (Client and Server) | |
| JPS printable support | ||
| JPS pageable support | PCL optimsations | Custom PDF print modes to improve performance | Custom print dialog | Custom PDF print Dialog with scaling and rotation options |




