News Archive

SetaPDF Components Released in Version 2.392022-03-29

We are proud to present you SetaPDF 2.39 - while this release doesn't come up with many high level features, we put much effort in hardening internal PDF data types. This refactor isn't complete yet but it will be an ongoing process for the whole SetaPDF product line in the next months.

Of course we also fixed some bugs and added some tweaks which makes this release necessary.

Check the release notes of the components below.
Log in to download the latest version of the related packages!

switch product

Version 2.39.0.1706

Release date: 2022-03-29
SetaPDF-Core Component
Feature
  • 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
  • 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
  • Update document identifier correctly, if ID is an indirect reference (write a direct object instead).
  • Harden data types by using SetaPDF_Core_Type_*::ensureType() calls.
  • 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).
  • Code style, doc-block optimizations and cleanup.