Changelogs & Release Notes

Show changelog from version to

7 Bugfixes
6 Features
11 Tweaks
SetaPDF-Core Component
Feature
  • Added Screen annotation class.
  • Added Caret annotation class.
  • Added SetaPDF_Core_Document_Catalog_MarkInfo and SetaPDF_Core_Document_Catalog_StructTreeRoot classes and getter methods to the catalog class.
  • Added SetaPDF_Core_Resource_PropertyList class.
  • Allow SetaPDF_Core_Type_*::toPdfString() to be called without a document instance as an argument (if possible) to be able to write PDF objects to a content stream.
  • Added getLang() and setLang() methods to catalog class.
Bugfix
  • Ignore undefined indirect references when an Annots array of a page is resolved.
  • Resolve indirect reference for /BBox entry in form XObject.
  • Ignore missing objects in Info class.
  • Handle deleted objects when parsing cross-references over several revisions.
  • Fixed setting of metadata in Catalog dictionary if the existing value is not a stream object.
  • Ensure correct object type of AcroForm entry.
  • Fixed justify alignment with line breaks in text.
Tweak
  • Refactored all SetaPDF_Core_Type_Null instances to a single instance.
  • Optimized handling of faulty PDF documents (handle shifted object numbers in previous xref, resolve latest /Root in corrupted xref parser).
  • Added fallback to PDF date-time parsing to support non-PDF conforming declarations.
  • Use transliteration when decoding PDF strings to avoid an E_NOTICE if illegal characters are found.
  • Handle streams with invisible content (white signs) and a length of 0.
  • Throw correct exception if the /BBox entry of a form XObject is missing.
  • Check and ensure valid data-type in /Annots entry of a page.
  • Allow dictionary or resource to be used in SetaPDF_Core_Canvas_MarkedContent::begin() method.
  • Optimized string and number tree structure generation (arrangement).
  • Support authentication at encrypted documents without a file identifier.
  • Added support for handling tokens prefixed with several minus signs as numeric values.