SimpleBookmark(code suggestion by Medhat Saleh and Mustafa Saeed; implemented in a more generic way by Bruno).
SimpleBookmarkto create XML from Bookmarks including JS actions.
XmlSchema.escape()method was deprecated, and replaced with
XMLUtil.escapeXML(), a method that removes illegal characters.
/Outlinesentry of the catalog MUST BE an indirect reference, but there are some (lousy) PDF producers who use a direct object, resulting in a
ClassCastException. We made iText more tolerant towards these PDF producers.
NaN. Because of this
distPerpendicularequals the minimum
NaN. As a result,
ArrayIndexOutOfBoundsExceptionoccured whenever a PDF with a widths array was encountered where
(firstchar + the size of the array)is greater than the widths array of the
/ToUnicodestream and a
/Widthsarray, the width was calculated incorrectly. The widths in the
/Widthsarray reflected the original character values in the PDF, whereas the
getWidth()method was asking for the decoded Unicode values. In short: there was a mismatch when trying to retrieve the width of a character.
Attributesubclass of the
getTag(), as it returns a
CSSclass for future use.
CssApplierinterface. It's no longer used: XYZ
CssApplierno longer implements
CssApplier<T>. Some had different method signatures anyway. XYZ
CssAppliers are now used through the
CssAppliersclass which will detect which applier to use. This change makes the css applier classes easier to be used elsewhere by decoupling it from the
CssUtils: added a defaultMetric parameter to the method parsePxInCmMmPcToPt. This will allow to set the defaultMetric of numeric values.
Readerinstance was used in the
parseWithReadermethod of the
InputStreamwasn't being reset after detecting the encoding in the