It has been a year since the International Organization for Standardization (ISO) announced the publication of ISO 32000-2 (PDF 2.0), so it’s a good time to reflect on the state of the technology and the actual implementation of the standard.
The transition to PDF 2.0 happened smoothly at PDFTron, with thousands of our customers seamlessly upgrading their solutions to support the features and changes introduced in 2.0.
Reflecting on this, we identified 3 major reasons for the smooth transition:
With the path to 2.0 starting in 2008, PDF 2.0 is the culmination of nine years of work by the ISO group. With official representation on the PDF ISO committees, PDFTron was intimately aware of the ongoing discussions and coming changes, and as a result we implemented new features and tweaked our implementation long before 2.0’s official release in July 2017. Most of our customers received important upgrades such as support for new encryption schemes and UTF-8 many years before the standard was officially published. And, over the years we worked out any remaining bugs and compatibility issues.
Although the new features are impressive and enable some interesting new use cases, perhaps the most significant change relates to clarifications in ISO 32000-1. PDF 2.0 addresses ambiguities, corrects errors, and updates normative references and critical clauses. Altogether, 14% of the specification was entirely rewritten. Since seamless upgrades are a priority for PDFTron, it was important that we maintain backwards compatibility, and we were able to successfully isolate customers from most of these changes.
PDFTron’s powerful SDF/Cos API allowed our customers to implement support for upcoming PDF 2.0 features long before the official release. This includes support for advanced digital signatures, unencrypted wrapper, associated files, rich-media annotations, geospatial features and PRC, and a 3D format. This in large part removed the need for bloated high-level APIs that change or break during product upgrades.
Looking at the broader industry, adoption of the new format has been slow. Random sampling of documents from the web shows that only a miniscule fraction (less than 1%) of documents are PDF 2.0 compatible. Even when it comes to pure viewing, desktop and mobile browser platforms don’t offer sufficient PDF 2.0 support out-of-the-box (in the best case annotations are garbled; in the worst case files can’t be opened).
To facilitate PDF 2.0 adoption, PDFTron plans to introduce a solution that can mass convert and optimize legacy PDF documents (PDF 1.0-1.7, and ISO 32000-1) to PDF 2.0, as well as the upcoming PDF/A format (PDF/A-Next) based on ISO 32000-2. Stay tuned!
We are also working closely with customers on new high-level APIs to streamline their implementations. If you have any questions regarding PDF 2.0, or you are looking for guidance, please get in touch.
- 7.6.7, "Unencrypted wrapper document"
- 184.108.40.206, "Use of black point compensation";
- 220.127.116.11, "Projection annotations";
- 18.104.22.168, "3D and RichMedia annotations";
- 22.214.171.124, "CAdES signatures as used in PDF";
- 12.8.4, "Long term validation of signatures";
- 126.96.36.199, "Document Security Store (DSS)" and 12.8.5, "Document timestamp (DTS) dictionary";
- 12.10, "Geospatial features";
- 13.7, "Rich media" annotations;
- 14.7.4, "Namespaces" for tagged PDF;
- 14.9.6, "Pronunciation hints";
- 14.12, "Document parts";
- 14.13, "Associated files";
- Support for PRC (see 13.6, "3D Artwork");
- Support for UTF-8
linkNew Capabilities For Existing Features
- Transparency and blend mode attributes for annotations;
- Stamp Annot intent;
- Polygon/Polyline real paths;
- 256-bit AES encryption;
- ECC-based certificates;
- Unicode-based passwords;
- Document requirement extensions;
- New value for tab order of fields and annotations;
- Page-level OutputIntents;
- Referenced (external) OutputIntents;
- Thumbnails for embedded files;
- Halftone Origin (HTO);
- Measurement & Point Data for image & form XObjects;
- L (length) key for inline image data;
- Viewer preferences enforcement (of print scaling);
- 3D measurements;
- GoToDPart action;
- RichMediaExecute action;
- Extension to GoTo and GoToR to support linking to a specific structure element;
- Extension to Signature Field Locks and Signature Seed Values;
- Extensions to 3D viewing conditions, incl. transparency;
- Ref (reference) structure elements;
- PageNum and Bates artifact types;
- New list types for structured lists;
- “Short” (short name) attribute for table header cells
- Extensions to OutputIntents (MixingHints and SpectralData).
- 7.4.7, "JBIG2Decode filter";
- 10.1 – 10.3, "Rendering";
- 11, "Transparency";
- 12.8, "Digital signatures";
- 14.3, "Metadata";
- 14.8, "Tagged PDF";
- 14.9, "Repurposing and accessibility support".
- XFA (incl. NeedsRendering);
- Movie, Sound and TrapNet annotations
- Movie and Sound Actions
- Info Dictionary
- Assistive technology restrictions via DRM
- PostScript aspects: ProcSet, PS XObject
- Page-piece dictionaries
- OS-specific file specifications
- SHA1 for security
- OS-specific aspects: Launch actions, filenames
- Encryption of FDF files
- Names for Objects & Fonts
- All encryption methods except AES-256
- Arrays of Blend Modes
- Transfer Functions
- Alternate Presentations
- CharSet (for T1 fonts)
- CIDSet (for CID fonts)
- Prepress viewer preferences
- adbe.pkcs7.sha1 & adbe.x509.rsa_sha1
- Suspects flag in MarkInfo dict.