Changelogs & Release Notes

Show changelog from version to

7 Bugfixes
4 Features
14 Tweaks
SetaPDF-Core Component
Feature
  • Added SetaPDF_Core_Type_AbstractType::is() method which let you check an object for a specific type while direct or indirect objects are resolved automatically.
  • Added SetaPDF_Core_Document_Page::getDictionary() method.
  • Added static ensureType() method to all PDF type classes.
  • Added optional $ensure parameter to SetaPDF_Core_Type_Array::toPhp() to automatically ensure the final value by resolving indirect references.
Bugfix
  • Ensure observation of dictionary in SetaPDF_Core_Document_Page::getDictionary() method.
  • Fixed count value in Outlines::appendChild() if items where added in an uncommon order.
  • Fixed SetaPDF_Core_Document_Page::setLastModified() method.
  • Update non-permanent file identifier if it is defined as an indirect reference.
  • Fixed check for expected values in PDF parser class, if no token was found at all (resulted in an "Undefined array key" error before).
  • Fixed handling in SetaPDF_Core_Document_Action_Launch::getFileSpecification() if no file specification is defined.
  • Aligned SetaPDF_Core_Document_Catalog_ViewerPreferences::getPrintPageRange() to return not zero based page numbers but real page numbers.
Tweak
  • Harden data types by using SetaPDF_Core_Type_*::ensureType() calls.
  • Code style, doc-block optimizations and cleanup.
  • Optimized additional actions class to use indirect references (if possible) instead of direct action values.
  • Fixed class/interface inheritance of SetaPDF_Core_Writer_FileInterface.
  • Optimized SetaPDF_Core_Type_AbstractType::_ensureType() method to catch exceptions thrown by invalid indirect references.
  • Removed iterator cache instance in Outlines class.
  • Allow to remove ViewerPreferences entries when false is passed as a value.
  • Refactored encoding classes and interface.
  • Added various cached version of CMAP files.
  • Update document identifier correctly, if ID is an indirect reference (write a direct object instead).
  • Automatically observe values/objects resolved by SetaPDF_Core_Type_Dictionary_Helper::getValue().
  • Code style optimizations and cleanup.
  • Optimized encoding handling of Typo0 fonts without a ToUnicode map.
  • Ignore indirect references to indirect objects with an id of 0 (zero).