For the complete documentation index, see llms.txt. This page is also available as Markdown.

Version 6.9.0 Changelog (2018-11-05)

New Features

  • PDFA Validation and Conversion have been overhauled to provide output much more compatible with VeraPDF and the PDF/A specifications/technical notes (see "Appendix: Full List of PDF/A Changes" below).

  • XOD files are generated with built-in annotation appearance streams. This allows WebViewer 4.0+ to render annotations containing these streams as they appear in other PDF viewers.

  • Added an option to PDFViewCtrl.OpenUrl which will restrict download usage. This is largely to reduce data usage/bandwidth, but can also be used for security reasons.

  • Added the Convert::streamingPDFConversion method, for page-by-page streaming conversion of many file types to PDF.

Improvements and Bugfixes

  • Performance improvements for documents that have been opened directly from memory.

  • More accurate bounding boxes for many annotation types

  • Rendering accuracy improvements for nested transparency groups.

  • Greatly reduced memory usage when converting XLSX to PDF.

  • Lots of improvements and fixes to Office to PDF conversion outputs.

  • More robust: improved handling of badly formed xref tables, page trees, fonts and file streams.

  • Opacity support for fileattachment annotations.

  • Many other miscellaneous bug fixes.

Appendix: Full List of PDF/A Changes

  1. We now expect the value of the N key to be an appearance subdictionary in Widget Button annotation AP dictionaries in PDF/A-1 mode (in addition to doing so for all the other modes, as we already do); also, we now match improvements made by other vendor(s), who now allow multiple entries in these subdictionaries

  2. We now do the q/Q operator nesting limit calculation properly, taking only individual streams' nesting into account

  3. Blend mode (BM) is now allowed to be set to "Compatible" in PDF/A-1 mode

  4. The entire document is now checked for Metadata object stream dictionaries that contain the Filter key, in accordance with clarification in TechNote 0010 (A017)

  5. Checking for equality of the values of the ID keywords between the first page trailer and last trailer dictionaries is only done if the ID keyword is actually present in the first page trailer, in accordance with clarification in ISO 19005-1:2005/Cor.2:2011

  6. Added check for DeviceN colorant number implementation limit

  7. Fixed dictionary size implementation limit check - used to allow 8190 entries instead of 4095

  8. Added checks for real number magnitude implementation limits

  9. Added checks for string length implementation limits

  10. Added support for XMP metadata encoded in UTF-32

  11. Fixed bug that caused crashes while processing PostScript Type 4 functions with invalid numbers of arguments

  12. Added check for character identifier (CID) magnitude implementation limits

  13. Disallowing OpenType fonts (to match other vendors' behaviour) and unrecognized font subtypes

  14. Added check for BaseFont entry for non-Type3 fonts

  15. Added checks for FirstChar, LastChar, and Widths entries and validation of their contents for non-standard simple fonts

  16. Removed font loading as a validation step, to match other vendors' behaviour

  17. Added XMP value type validation

  18. Allowed XMP dates to have timezones

  19. Added fix for checking colorspace device independence for all referenced colorspaces, not just the ones that are used

  20. The presence of PresSteps is now flagged in validation mode too, not just convert mode

  21. Page dictionaries with AA keys are now flagged (in PDF/A-2 mode or greater)

  22. Limited appearance dictionary (AP) check to Widget annotations, and in PDF/A-2 mode and greater also annotations which have non-zero width and height and are not popups or links

  23. Improved checking for "the stream keyword shall be followed either by a CARRIAGE RETURN (0Dh) and LINE FEED (0Ah) character sequence or by a single LINE FEED character"

  24. Added a check for empty values of ID keys in file trailer dictionary in PDF/A-2 mode or greater

  25. Added a fix for header validation in PDF/A-2 mode or greater: CRLF is now allowed to be used between "%PDF-1.n" and "%bbbb"

  26. Added flagging of missing StructTreeRoot for PDF/A-1a, 2a, and 3a

  27. Added fix for XMP parsing that allows more thorough syntactical validation

  28. More thorough detection of the disallowed usages of transparency (matching what other vendors do)

  29. Added fix for page dimensions validation

  30. Inconsistent font Widths are now only flagged for embedded fonts

  31. Added CharSet string validation for embedded Type1 fonts vis-a-vis font program glyph names

  32. Removed XMP amendment (pdfaid:amd) contents validation, matching other vendors' behaviour

  33. Updated the default PDF/A version mode from 1B to 2B in both SDK and command-line tool

  34. Convert mode no longer outputs both "Z" and "00'00" hour/minute information when fixing dates within the PDF Info dictionary

  35. We now only check for correspondence between PDF Info and XMP in PDF/A-1 mode

  36. Fixed process colorant handling; Components is now treated as an Array, not a Dict

  37. Fixed overprint mode handling to correspond to clarification in TechNote 0010; only the overprint control values in the ExtGState dictionary which correspond to actual use are now considered during validation

  38. Default colorspaces are no longer inherited from the page's Resources dictionary, and are only sought within the current Resources, as per clarification with other vendors

  39. Convert mode now removes notdefs from page Contents streams

  40. Convert mode now replaces invalid UTF-8 strings

Last updated

Was this helpful?