Big Faceless PDF Library v2.27
Released: Sep 6, 2022
v2.27 での更新項目
機能
- Dropped support for Java 6 - Supported versions are now Java 7 to 17.
- Improved the process of repairing form fields on load, to try to match Adobe Acrobat's unpublished algorithm. For documents that require extensive repair on load, this may result in differences to the repair process affecting which annotations and fields are repaired.
- PDF/A
- When substituting fonts in a document with OutputProfiler.FontAction, you can now allow one font to be replaced by multiple fonts. This fixes that case where a suitable substitute was found but is missing only one or two glyphs. NOTE: This changes required an API change to the OutputProfiler.FontAction interface.
- Added OutputProfiler.setJustNoticeableDifference() method, to allow control over the threshold above which two colors are deemed to be different.
- Added the ability to identify images that are damaged or truncated with the "ImageDamaged" feature, and disallow it for PDF/A-1 or later.
- Added the ability to check for truncated image data when looking for file damage, and repair it if required (this improves PDF/A compatibility with Acrobat).
- Added the ability to check for damage or truncatation to glyphs, and treat them as missing.
- Separations "All" and "None" are not exempt from the requirements against redefinition of Separations in PDF/X-4 and PDF/A-4, even though ISO32K does not require this. The new RedefinedSeparationAll feature will identify and repair these.
- Made timezones on metadata dates a requirement for PDF/A-1, based on PDFA TWG discussions. It's not a requirement for PDF/A-2 and later.
- While PDFA TWG determines whether invalid "colr" box in JPX images is significant when there is a ColorSpace on the stream, the ability to identify and repair it if required (JPXNotBaselineColr) has been added.
- Finally clarified distinction on CIDSet requirements between PDFA1 and PDFA2+3, and handle both as required - this slightly relaxes the requirements for PDFA1.
- Added the ability to find invalid ICC profiles used as transparency-group ColorSpaces.
- Improved support for (interim) PDF/UA-2 spec.
不具合の修正
- Updated bundled "bfopdf-jj2000.jar" to include latest fix from Github, which could result in failures parsing some images with an alpha channel.
- Use thread-safe classes for very high access structures used while profiling. Documents that share fonts over thousands of pages no longer block threads when profiling on multi-core hardware.
- [PDFA] Correctly convert JPX images containing alpha channels to non-JPX compression for PDFA1
- Fixed a bug to with double-encoding names in the related CharSet structure, which could result in some valid PDFA1 files identified as invalid.
- [PDFA] special handling to remove insane multi-MB data URLs added as URL actions by PrinceXML.
- [PDFA] Annotation C and IC colors are handled correctly in terms of their PDF/A requirements.
- Fixed StackOverflowError when parsing PostScript containing a string that had been marked as not-readable: the the Exception includes the value, which is not readable so an Exception is thrown, and so on.
- Several dozen small fixes due to further bulletproofing against Apache Tika after converting all 33000+ files to PDF/A.
- Fixed redaction issue when resources with same name in XObjects could result in incorrect (although still redacted) content being written to the page.
- Work around odd bug in Java XML parser where trailing processing-instructions will (very rarely and depending on the parse state) throw a SAX failure.
- Fix failure to verify second-signature in files with PDF Articles.
- Fixed a bug where trying to justify text comprising a simple space character would fail.
- Fixed threading issue relating to traversing EmbeddedFiles.
- Viewer: Fixed occasional Exception from race condition in Thumbnail teardown.
- Viewer: Added workaround for odd issue relating to use of temporary files when saving to (some) Windows Network files.