Changelogs & Release Notes

Show changelog from version to

6 Bugfixes
8 Features
8 Tweaks
SetaPDF-Merger Component
Bugfix
  • Fixed deep copying of page objects to allow independent modification on them.
SetaPDF-Core Component
Feature
  • Implemented new save method, which keeps object streams in a full rewrite.
  • Added SetaPDF_Core_Document_Action_SubmitForm::(get|set)CharSet() methods.
  • Added get(Bottom|Top)UserSpace() methods to SetaPDF_Core_Canvas_GraphicState_Text class to receive the specified bearing line value in user space.
  • Implemented several high level annotation classes: Highlight, Underline, Squiggly, StrikeOut, Ink, Polygon, PolyLine.
  • Optimized SetaPDF_Core_Document_Page_Annotation_TextMarkup::setQuadPoints() and implemented SetaPDF_Core_Document_Page_Annotation_TextMarkup::getQuadPoints() methods.
  • Optimized SetaPDF_Core_Document_Page_Annotation_Link::setQuadPoints() and implemented SetaPDF_Core_Document_Page_Annotation_Link::getQuadPoints() methods.
  • Added getOpacity() and setOpacity() methods to SetaPDF_Core_Document_Page_Annotation_Markup class.
  • Added getBorderEffect() to SetaPDF_Core_Document_Page_Annotation_(Square|Circle) class.
Change
  • Renamed parser for corrupted cross reference to SetaPDF_Core_Parser_CorruptedCrossReferenceTable.
  • Refactored resolving of objects in object streams. Removed $_ownerPdfDocument property from several PDF types and make it more generic by introducing an $_owner property.
Bugfix
  • Fixed handling of hybrid-reference files.
  • Fixed observing of dictionary of streams.
  • Fixed cloning of foreign objects in a specific document context.
  • Fixed SetaPDF_Core_Document_Catalog_Pages::getPageNumberByIndirectObject() to return the correct object number if the page was extracted from another document instance.
  • Fixed setting of individual boundary boxes in Page object. All set(BoxName|Boundary) methods have a new $checkBoundary parameter that allows you to disable logical checks.
Tweak
  • Optimized SetaPDF_Core_Encoding::toUtf16Be() method.
  • Optimized SetaPDF_Core_Font::getGlyphsWidthByCharCodes().
  • Optimized automatic resolving of most reliable encoding function (mbstring or iconv).
  • Optimized SetaPDF_Core_Text::getLines() method for better line-break handling.
  • Refactored SetaPDF_Core_Document_Destination to use class constants instead of string values for the fit-mode parameter.
  • Refactored annotation classes.
  • Force an integer cast in Ascii85 decode method due to a compatibility issue with PHP 7 (see https://bugs.php.net/bug.php?id=69906) on x86 systems.
  • Optimized cleanUp() method on Pages class.