Further development and optimization of the PDF format

The PDF format is considered to be an interoperable file format, which is especially convincing due to its clear and reliable appearance. In addition, the format brings commonly defined, expected behaviors to all implementations and is continuously being adapted and improved. This includes reporting errors and problems on a regular basis.

This is intended to help everyone in the PDF ecosystem, from PDF developers to end users. Reporting issues and errors, working to resolve them, and publishing the appropriate information are all critical to ensuring PDF interoperability.

Corrections by the PDF Technical Working Group of the PDF Association

First and foremost, the PDF Association‘s  PDF Technical Working Group should be mentioned here, which has compiled and resolved a considerable body of knowledge on all PDF-related issues. The simplest corrections and clarifications range from typographical and formatting errors to linguistic clarifications (important for non-native English speakers) and the elimination of incorrect cross-references.

PDF issues also involve major errors such as missing (i.e. previously undocumented) keys in dictionaries, changes to the optional/required status of certain keys, corrections to allowed key values, and even the provision of a missing Annex L appendix (Annex L: Defines the relationship between tags). All these changes are interesting and important for any PDF developer.

Each solution links to one or more GitHub issue numbers so developers can read the technical discussions. These discussions are helpful to learn more about the technical background. PDF-Issues  is an invaluable source of information on a wide range of technical PDF topics.

Not only relevant for PDF 2.0 specification

Although the issues resolved are presented as marked changes to the latest PDF 2.0 specification (ISO 32000-2:2020), many fixes are also highly relevant to earlier PDF specifications.

This is because PDF is a backward-compatible format and many clauses from earlier PDF specifications have been retained or only slightly adapted. Clause numbering has remained largely unchanged between PDF 1.7 (ISO 32000-1:2008) and PDF 2.0 (ISO 32000-2:2020). PDF developers are therefore easily able to identify such corrections and trace them back to previous specifications relevant to their implementations.

GitHub repository pdf-issues

The PDF Association’s PDF Technical Working Group (TWG) meets regularly to review reported issues and approve those with identified proposed solutions. PDF developers should therefore always keep an eye on the corresponding GitHub repository pdf-issues and actively participate in discussions about any issues relevant to them. After all, if you are involved in PDF development, you should always refer to this pdf-issues repository. And the PDF Association clearly states: Every bug report is welcome, no matter how small! Please contribute by creating new topics:

https://github.com/pdf-association/pdf-issues

Revision of PDF Forms technology

An example of further detailed improvements is the recent announcement that the PDF Forms technology will be adapted. The PDF Forms Technical Working Group is working on a proposal to evolve PDF forms to address some issues that have been identified over the years. 

An important aspect of this work is the proposed change from a scripting language without fully documented behavior to a declarative model for the business logic and rules for the form. This change would include not only computations, but also formatting and validation.

A second major effort of the group is to update the capabilities of PDF forms with those of the Web so that conversion from HTML to PDF or derivation from PDF to HTML is as lossless as possible. In addition, support for modern web technologies such as JSON will be introduced for data modeling and exchange. In addition, the accessibility of PDF forms, especially in the areas of field labels and field groupings, is to be improved:

Source with all important links to GitHub: