We just released new versions of all SetaPDF components.
Beside various tweaks and bug fixes here are some points to mention:
- This release added support for handling PDF files which includes invalid data at the beginning of the file through the SetaPDF-Core component. Such files will normally invalidate all byte offset positions and all previous versions of SetaPDF were not able to handle this situation.
- The SetaPDF-Extractor component will ignore invisible glyphs above visible glyphs now - in previous versions such constructs created a word break.
- The SetaPDF-Signer component received several new demos which show the implementation of external signatures. We also added a demo for the Lacuna Web PKI plugin, which allows you to sign PDF documents in the browser.
Check the release notes of the components below.
Log in to download the latest version of the related packages!
Release date: 2017-05-08
Rev. 1026 to 1049
- Added setTabOrder() and getTabOrder() in SetaPDF_Core_Document_Page_Annotations class.
- Added method to normalize line breaks: SetaPDF_Core_Text::normalizeLineBreaks().
- Added SetaPDF_Core_Document::getSaveMethod() and renamed $update parameter in save() method to $saveMethod (meaning is the same as before).
- Added support for PDF documents with invalid data before their PDF file header.
- Fixed a bug which occurs if AES encryption is used while the Length value of a stream is an indirect object which is already written because of the SetaPDF_Core_Document::SAVE_METHOD_REWRITE_ALL save method.
- Prevent "String offset cast occured" notice in abstract reader class.
- Fixed SetaPDF_Core_Document_Destination::findByName() when name was not found.
- Normalizes line breaks in SetaPDF_Core_Text_Block class.
- Check for null bytes in file names before passing them to PHP functions to prevent warnings or notices.
- Added support for faulty objects with a generation number higher than zero in object streams.
- Allow date strings without "D:" prefix.
- Updated get image sizes demo to handle rotated pages correctly.