News Archive

Merry Christmas!2016-12-12

Today we released Merry Christmas versions of all SetaPDF components. 

This release comes with many features, changes, bugfixes and tweaks in the SetaPDF-Core from which all other components will benefit as well.

The whole team of Setasign wishes you, your families and friends a Merry Christmas and a Happy New Year! 

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

switch product

Version 2.21.0.981

Release date: 2016-12-12
SetaPDF-Core Component
Feature
  • Added SetaPDF_Core_Canvas::normalizeRotation() method, which will rotate and translate the canvas agains a specific rotation value and a bounding box.
  • Added rotate(), translate(), scale(), skew() methods to SetaPDF_Core_Canvas_GraphicState.
  • Added Identity cmap class.
  • Implemented reverse-lookup code in SetaPDF_Core_Font_Cmap.
  • Added getBitsPerComponent() method in SetaPDF_Core_XObject_Image.
  • Added getColorComponents() method to color space classes.
  • Added getHival() and getLookupTable() methods to SetaPDF_Core_ColorSpace_Indexed.
  • Ignore null filter when applying to a stream.
  • Added remote go-to action class.
  • Implemented BitConverter class which handles integer to/from bytes conversion.
  • Added binary writer class.
  • Added support for direct dictionary entries in the document page tree.
  • Added method getDefaultDecodeArray() to all common color spaces.
  • Added method getAlternateColorSpace() to icc color space class.
  • Added method releaseObject() in SetaPDF_Core_Document.
  • Added filter class and handling for RunLengthDecode filter.
  • Added various filter abbreviations.
Change
  • Removed several helper methods from SetaPDF_Core_Font_TrueType_File. All values can be accessed through the individual tables now.
  • Added SetaPDF_Core_Font_Cmap_CmapInterface interface.
  • Refactored Type0 font class.
  • Renamed SetaPDF_Core_Font_TrueType_Parser to SetaPDF_Core_Font_TrueType_File.
  • Renamed method getAlternateSpace() to getAlternateColorSpace() in SetaPDF_Core_ColorSpace_Separation.
Bugfix
  • Fixed handling of character spacing in text graphic state.
  • Fixed creation of XMP metadata package for an existing PDF document with an existing Info dictionary.
  • Fixed invalid method call in SetaPDF_Core_Font::getIndirectObject().
  • Prohibit showing text in graphic state without a font defined.
  • Fixed handling of name arrays with an odd length.
  • Fixed resolving of a color space (its family) through an indirect reference.
  • Handle indirect references in Encrypt dictionary.
Tweak
  • Added SetaPDF_Core_Font::getDictionary() method.
  • Fixed accessing raw data of strings if a security handler is in use.
  • Refactored some call_user_func() calls to variable calls.
  • Removed unused parameter $normalize in SetaPDF_Core_Font::getCharsByCharCodes() and all its implementations.
  • Optimized SetaPDF_Core_Font::getCharByCharCode().
  • Optimized resolving of character code tables and encoding tables in all font classes.
  • Added and use cached versions of common cmaps.
  • Refactored color space classes.
  • Optimized memory usage in string reader class.
  • Added A85 name as a valid filter name/alias for ASCII85Decode.
  • Updated SetaPDF_Core_Encoding::fromUtf16Be() to work with cmap instances, too.
  • Optimized handling of predictor filter algorithms.
  • Optimized destination class for usage with remote go-to actions.
  • Removed control characters from standard encodings.
  • Optimized SetaPDF_Core_Encoding::utf16BeToUnicodePoint() to avoid E_NOTICE if non valid UTF-16BE string was passed.
  • Optimized CMYK handling in JPEG images.
  • Make SetaPDF_Core_Reader_Binary::readInt32() return integer throughout.
  • Ensure a stream object in an icc based color space.
  • Prevent E_NOTICE in SetaPDF_Core_Image::getType() if reader size is to small.
  • Optimized handling of indirect object property in SetaPDF_Core_XObject.
Demo
  • Added a demo that shows how to tile a single document page into multiple pages.
  • Added a demo that shows how to combine multiple pages of an existing document on new pages with a predefined grid size.