Changelogs & Release Notes

Show changelog from version to

6 Bugfixes
3 Features
20 Tweaks
SetaPDF-FormFiller Component
Bugfix
  • Fixed SetaPDF_FormFiller_Fields::flatten()/delete() calls on documents without an AcroForm entry.
Tweak
  • Updated flatten method to use XObject instances directly instead of calculating positioning by its own.
  • Added handling of flatten/deletion of form fields, which are not assigned to any page.
  • Optimized handling of fields with an invalid Parent/Kids structure.
  • Fixed compatibility issues with PHP 7.2.
SetaPDF-Core Component
Feature
  • Added collidable interface and functionality for geometric classes (point, rectangle).
  • Added SetaPDF_Core_Canvas::normalizeRotationAndOrigin() method.
  • Added ensure() method to the reader interface and abstract class, which will ensure content of a specific length and a specific location.
Change
  • Changed SetaPDF_Core_Parser_CrossReferenceTable::isCompressed() method to return an integer which represents its compression method. The possible methods are available as class constants COMPRESSED_*.
  • Renamed SetaPDF_Core_Document_CrossReferenceTable::getCompressed() to getCompressedStream().
  • Added SetaPDF_Core_ColorSpace_DeviceN::getAlternateColorSpace() and marked getAlternateSpace() as deprecated.
  • Handle numeric values as integers or floats instead of only floats.
Bugfix
  • Ignore custom non-string values in Info dictionary when synchronizing with XMP data package.
  • Fixed SetaPDF_Core_Page::toXObject() method if rotation and gradients were in use.
  • Fixed handling of LZW filter if abbreviation is used.
  • Fixed calculation of avarange width in Type0 fonts if no W array is available.
  • Fallback in SetaPDF_Core_Font_Simple::getAvgWidth() to "missing width" when no glyph width is available.
Tweak
  • Optimized resolving of terminal fields in AcroForm if Kids entries refer to the same object several times.
  • Added resolving of form fields without widget annotation.
  • Added several not implemented functionalities in Type3 font class.
  • Implemented logic to resolve font bounding box from glyph procedures in Type3 fonts.
  • Added support for CMap tables without a "begincmap" token.
  • Fixed reading of corrupted documents when SetaPDF_Core_Parser_CrossReferenceTable::$readOnAccess was set to false.
  • Optimized resolving of width and height of an XObject if it has a Matrix value.
  • Fixed behaviour of stream reader if stream wrappers are in use which read limit is 8096 bytes.
  • Allow creation of SetaPDF_Core_Type_IndirectReference instances with SetaPDF_Core_Type_IndirectObjectInterface instead of only SetaPDF_Core_Type_IndirectObject.
  • Improved performance of SetaPDF_Core_Image_Png::_extractAlphaChannel for toXObject() method.
  • Code clean up in various classes.
  • Fixed compatibility issues with PHP 7.2.
  • Moved token stack to tokenizer class.
  • Optimized resolving of pages in the page tree.
  • Added argument checks to formatFrom*() methods in SetaPDF_Core_BitConverter class.
  • Optimizations in tokenizer class.