Release iText 5.2.1
New release for iText 5.2.1 and XML Worker, continue reading to find out more.
release Notes:
IMPORTANT
All 5.2.x versions have been removed from our servers because of a serious flaw that was introduced when dealing with large PDFs!
I'm preparing to teach an iText class in Paris, and to give some demo's in Oakland. I'm currently making a new set of examples for some new chapters I'm going to write (maybe a third book, not a revision of the second edition, but a book with some advanced topics). Whilst making examples to explain the different options available in XML Worker, I found some bugs and I also thought about some functionality that was missing.
It would be a pity if I demonstrated my new examples in the next few weeks without having a new release with the latest changes, so that's why I made iText 5.2.1 one month after iText 5.2.0 was published.
Changelog:
iText 5.2.1 Core
- Changes made by Paulo Soares
PdfReader
now ignores unreachable pages (this only happens with broken PDFs).
- Changes made by Jeroen Nouws
PdfPublicSecurityHandler
: added a check forInvalidKeyException
when initializing cipher, if catched cipher will be initialized with the public key instead of the certificate (suggestion by RĂ©gis Ramillien).
- Changes made by Eugene Markovskyi
- Fixed the
unescapeXML()
method so that it skips invalid characters
- Fixed the
- Changes made by Alexander Chingarev
PdfNameTree
: fixed crash on iterating through names tree when tree is splitted into several arrays (reported by Jason Rock who suggested a fix).- Added more convenient
SimpleBookmark
methods (e.g. to get child bookmarks of a certain outline object). PdfName
: added some new names
- Changes made by Bruno
- Bugfix
AcroForms
: In some cases, Adobe Reader X asks if you want to "save changes" after closing a flattened PDF form. This was due to the presence of some unnecessary entries in the /AcroForm dictionary (for instance added when the form was created with OOo). XfaForm
: Added areadOnly
parameter to thefillXfaForm()
method.- Extra
ColumnText
method to check if an Element is allowed in a column. Paragraph
: added acloneShallow()
method and a method that breaks up aParagraph
into a list of paragraphs, lists and tables.ColumnText
now breaks up aParagraph
before adding it to the stack. This prevents flattening of the content nested inside the paragraph (deep nesting still isn't supported).- Nested
Paragraph
objects can now have different values for the leading. - Files loaded from deep nested jars or ears in jBoss are referred to with vfszip: (Bug report #3512734)
- Bugfix
XML Worker 1.1.3
- Changes made by Eugene Markovskyi
- Cleaning up different spacing issues.
- Fixing justified alignment.
- Now XMLWorker uses 1.2 multipliedLeading as default for
Paragraph
. - Cleaning up some minor issues regarding HTML tables.
- Changes made by Bruno Lowagie
ParagraphCssApplier
: if the fontSize < 0 (which doesn't make sense), all parameters are calculated using the wrong base.- Added a test to avoid a NPE in
PathTag
. - Added a convenience method to add a substitution font to
XMLWorkerFontProvider
. - Replacing
String[]
withString...
inFileRetrieveImpl
. - Adding a constructor to
FileRetrieveImpl
with aFile
object defining a root directory as parameter. - Adding a
setFileRetrieve()
method to theCSSResolver
interface. XMLWorkerFontProvider
: WithDONOTLOOKFORFONTS
, you can avoid that theFontProvider
spends time on registering font directories (you may not need them).XMLWorkerHelper
: If a charset is defined, you want to use it when parsing XML.- Added a convenience class that can be used to parse XML to a list of elements:
ElementList
XMLParser
: detecting the encoding didn't work in some environments because the mark was invalid (and a call toreset()
failed). Now we expect a '>' in the first 1028 characters.- Added
setChunkCssAplier()
method to theCssAppliers
interface