Version 2.48.0.2155 of SetaPDF Is Available2025-06-19
In our last release we implemented namespaces and created aliases for the "old" class names. In this release we completed the transition to namespaces and the whole code base uses the fully qualified class names and no aliases anymore. For sure the aliases still exist and there are no backwards compatibility issues if you use the old class names.
We also tweaked and fixed other things, that you can find in the release notes below.
Check the release notes of the components below.
Log in to download the latest version of the related packages!
Version 2.48.0.2155
Release date: 2025-06-19
Filename | Download | Composer
[ ? Use following minimal composer.json file to install a package through Composer. |
Information |
---|
SetaPDF-Core Component
Feature
- Added support for Tiff predictor (only 8 bits-per-component).
Bugfix
- Fixed cleanup of XMP packet wrapper.
- Fixed creation of compressed object streams for new created objects.
- Fixed behavior in creation of object streams with objects of foreign document instances which are referenced later again.
- Ensure a stream object in
Page::toXObject()
to prevent "__clone method called on non-object" error (raised only in faulty documents).
Tweak
- Changed all internal used class names to new namespaced variation.
- Moved Kids array in tree structures into an indirect object instead of a direct object.
- Cache IDTree instance in
StructTreeRoot
class. - Removed unnecessary memoization of cross-reference entries to save memory.
- Optimized the creation of compressed cross-reference streams in view to memory consumption.
- Changed parsing of hex strings to a token-based form to ignore whitespaces and comments directly.
Version 2.48.0.2155
Release date: 2025-06-19
Filename | Download | Composer
[ ? Use following minimal composer.json file to install a package through Composer. |
Information |
---|
SetaPDF-Extractor Component
Feature
- Added
Extractor::getResultByPage()
method. - Added
getResultByTextItems()
method to all available strategies to allow filtering a result several times. - Added
Extractor::getTextItemsByPage()
method.
Bugfix
- Fixed infinite loop through circular references in form XObjects.
Tweak
- Changed all internal used class names to new namespaced variation.
SetaPDF-Core Component
Feature
- Added support for Tiff predictor (only 8 bits-per-component).
Bugfix
- Fixed cleanup of XMP packet wrapper.
- Fixed creation of compressed object streams for new created objects.
- Fixed behavior in creation of object streams with objects of foreign document instances which are referenced later again.
- Ensure a stream object in
Page::toXObject()
to prevent "__clone method called on non-object" error (raised only in faulty documents).
Tweak
- Changed all internal used class names to new namespaced variation.
- Moved Kids array in tree structures into an indirect object instead of a direct object.
- Cache IDTree instance in
StructTreeRoot
class. - Removed unnecessary memoization of cross-reference entries to save memory.
- Optimized the creation of compressed cross-reference streams in view to memory consumption.
- Changed parsing of hex strings to a token-based form to ignore whitespaces and comments directly.
Version 2.48.0.2155
Release date: 2025-06-19
Filename | Download | Composer
[ ? Use following minimal composer.json file to install a package through Composer. |
Information |
---|
SetaPDF-FormFiller Full Component
Feature
- Added
$force
parameter inXfa::syncDataNode()
method, to support synchronization of modification of theDOMNode
returned byXFA::getData()
.
Bugfix
- Fixed checksum calculation in
<xfa:form>
tag by sanitizing the XFA data package (remove duplicated namespace declarations created by PHPs DOM functionalities). - Support filling of static forms with intermediate subforms without data-binding and a data connection/data description.
- Added support for namespaced data-packages in static XFA forms.
Tweak
- Changed all internal used class names to new namespaced variation.
- Extended
Field\AppearanceValueCallbackInterface
interface withgetAdditionalActions()
method and implemented its usage inField\Formatter
class.
SetaPDF-Core Component
Feature
- Added support for Tiff predictor (only 8 bits-per-component).
Bugfix
- Fixed cleanup of XMP packet wrapper.
- Fixed creation of compressed object streams for new created objects.
- Fixed behavior in creation of object streams with objects of foreign document instances which are referenced later again.
- Ensure a stream object in
Page::toXObject()
to prevent "__clone method called on non-object" error (raised only in faulty documents).
Tweak
- Changed all internal used class names to new namespaced variation.
- Moved Kids array in tree structures into an indirect object instead of a direct object.
- Cache IDTree instance in
StructTreeRoot
class. - Removed unnecessary memoization of cross-reference entries to save memory.
- Optimized the creation of compressed cross-reference streams in view to memory consumption.
- Changed parsing of hex strings to a token-based form to ignore whitespaces and comments directly.
Version 2.48.0.2155
Release date: 2025-06-19
Filename | Download | Composer
[ ? Use following minimal composer.json file to install a package through Composer. |
Information |
---|
SetaPDF-FormFiller Lite Component
Feature
- Added
$force
parameter inXfa::syncDataNode()
method, to support synchronization of modification of theDOMNode
returned byXFA::getData()
.
Bugfix
- Fixed checksum calculation in
<xfa:form>
tag by sanitizing the XFA data package (remove duplicated namespace declarations created by PHPs DOM functionalities). - Support filling of static forms with intermediate subforms without data-binding and a data connection/data description.
- Added support for namespaced data-packages in static XFA forms.
Tweak
- Changed all internal used class names to new namespaced variation.
- Extended
Field\AppearanceValueCallbackInterface
interface withgetAdditionalActions()
method and implemented its usage inField\Formatter
class.
SetaPDF-Core Component
Feature
- Added support for Tiff predictor (only 8 bits-per-component).
Bugfix
- Fixed cleanup of XMP packet wrapper.
- Fixed creation of compressed object streams for new created objects.
- Fixed behavior in creation of object streams with objects of foreign document instances which are referenced later again.
- Ensure a stream object in
Page::toXObject()
to prevent "__clone method called on non-object" error (raised only in faulty documents).
Tweak
- Changed all internal used class names to new namespaced variation.
- Moved Kids array in tree structures into an indirect object instead of a direct object.
- Cache IDTree instance in
StructTreeRoot
class. - Removed unnecessary memoization of cross-reference entries to save memory.
- Optimized the creation of compressed cross-reference streams in view to memory consumption.
- Changed parsing of hex strings to a token-based form to ignore whitespaces and comments directly.
Version 2.48.0.2155
Release date: 2025-06-19
Filename | Download | Composer
[ ? Use following minimal composer.json file to install a package through Composer. |
Information |
---|
SetaPDF-Merger Component
Tweak
- Changed all internal used class names to new namespaced variation.
- Throw a
Merger\Exception
if the PDF that should be handled has zero pages.
SetaPDF-Core Component
Feature
- Added support for Tiff predictor (only 8 bits-per-component).
Bugfix
- Fixed cleanup of XMP packet wrapper.
- Fixed creation of compressed object streams for new created objects.
- Fixed behavior in creation of object streams with objects of foreign document instances which are referenced later again.
- Ensure a stream object in
Page::toXObject()
to prevent "__clone method called on non-object" error (raised only in faulty documents).
Tweak
- Changed all internal used class names to new namespaced variation.
- Moved Kids array in tree structures into an indirect object instead of a direct object.
- Cache IDTree instance in
StructTreeRoot
class. - Removed unnecessary memoization of cross-reference entries to save memory.
- Optimized the creation of compressed cross-reference streams in view to memory consumption.
- Changed parsing of hex strings to a token-based form to ignore whitespaces and comments directly.
Version 2.48.0.2155
Release date: 2025-06-19
Filename | Download | Composer
[ ? Use following minimal composer.json file to install a package through Composer. |
Information |
---|
SetaPDF-Signer Component
Feature
- Added
setLineHeightFactor()
andgetLineHeightFactor()
methods toAppearance\Dynamic
to allow control over the line-height calculation. - Addes
setText()
andgetText()
methods to allow individual text inAppearance\Dynamic
class.
Bugfix
- Fixed document comparision in
TmpDocument
class if string reader were in use. - Change the
$saveMethod
parameter internally toDocument::SAVE_METHOD_UPDATE
if a rewrite is not allowed due to existing signatures or usage rights (done by the new staticSigner::sanitizeSaveMethod()
method).
Tweak
- Changed all internal used class names to new namespaced variation.
SetaPDF-Core Component
Feature
- Added support for Tiff predictor (only 8 bits-per-component).
Bugfix
- Fixed cleanup of XMP packet wrapper.
- Fixed creation of compressed object streams for new created objects.
- Fixed behavior in creation of object streams with objects of foreign document instances which are referenced later again.
- Ensure a stream object in
Page::toXObject()
to prevent "__clone method called on non-object" error (raised only in faulty documents).
Tweak
- Changed all internal used class names to new namespaced variation.
- Moved Kids array in tree structures into an indirect object instead of a direct object.
- Cache IDTree instance in
StructTreeRoot
class. - Removed unnecessary memoization of cross-reference entries to save memory.
- Optimized the creation of compressed cross-reference streams in view to memory consumption.
- Changed parsing of hex strings to a token-based form to ignore whitespaces and comments directly.
Version 2.48.0.2155
Release date: 2025-06-19
Filename | Download | Composer
[ ? Use following minimal composer.json file to install a package through Composer. |
Information |
---|
SetaPDF-Stamper Component
Tweak
- Changed all internal used class names to new namespaced variation.
SetaPDF-Core Component
Feature
- Added support for Tiff predictor (only 8 bits-per-component).
Bugfix
- Fixed cleanup of XMP packet wrapper.
- Fixed creation of compressed object streams for new created objects.
- Fixed behavior in creation of object streams with objects of foreign document instances which are referenced later again.
- Ensure a stream object in
Page::toXObject()
to prevent "__clone method called on non-object" error (raised only in faulty documents).
Tweak
- Changed all internal used class names to new namespaced variation.
- Moved Kids array in tree structures into an indirect object instead of a direct object.
- Cache IDTree instance in
StructTreeRoot
class. - Removed unnecessary memoization of cross-reference entries to save memory.
- Optimized the creation of compressed cross-reference streams in view to memory consumption.
- Changed parsing of hex strings to a token-based form to ignore whitespaces and comments directly.