XML Worker Changelog

What's new in XML Worker 5.5.6

May 14, 2015
  • resolve some issues with div positioning
  • Paragraph indents are mirrored in case RTL layout. It is done on Element processing level, not on CSS applying level.
  • Body color issue solution
  • Wrong Body element processing in PdfDocument. pageEmpty property should be true.
  • DEV-1252: Several bugs about analyzing font styles are fixed
  • Handle unquoted url() values
  • Css At-Rule issue is fixed. Jira DEV-128.
  • DEV-61: Wrong processing star comments (/* */)
  • SUP-800 xdp with fragments
  • SUP-662 Arabic content loosing html styles after converting from HTML to PDF
  • resolve strikethrough issue
  • Removed using of NoImageProviderException in non-exceptional flow.
  • XMLworker should ignore the CSS attribute "tab-stops ", instead of not showing contents of HTML tags with that attribute. DEV-1296
  • DEV-1287 XMLWorker ignores tag at the end of tag. Do not cut tags from paragraph items at all.
  • Correct Accessible PDF role for TH HTML tag
  • DEV-1333 XmlWorker: Fixed incorrect line spacing calculation in html lists.
  • DEV-1271 Fixed leading applying.
  • DEV-986 Fixed css parsing of @rules.
  • DEV-1360 Not all InputStreams support mark/reset
  • Fixed list rendering.
  • Process in tags content. Avoid synchronization in CssUtils.

New in XML Worker 5.5.5 (May 14, 2015)

  • Added support for shorthand border property in tables: border-bottom and etc.
  • Fixed some table width calculation issues.
  • Fix for table colspan and fixed widths error.
  • Support for Div text-align
  • Arabic content was loosing html styles after converting from HTML to PDF
  • Added better support for run direction (RTL or LTR) in nested tables, and via a CSS property instead of a tag attribute.

New in XML Worker 5.5.4 (May 14, 2015)

  • Added support for RTL in a bulleted list and processing of the "dir" attribute in the table-tag (XML Worker). Improved table alignment in case of RTL direction.
  • Image alt text is now set onto the image object when creating Tagged PDF.
  • HtmlPipelineContext now uses the ImageProvider when it is explicitly set, not the default AbstractImageProvider.
  • XML Worker now recognizes dir="rtl", both as an HTML attribute and a CSS property, for and tags, in addition to the already existing functionality
  • Many questions on StackOverflow reveal a need to parse a snippet of HTML into a list of Element objects. That's why we've added a convenience method to XMLWorkerHelper that takes a String of HTML and a String of CSS and returns a list of Element objects.

New in XML Worker 5.5.3 (May 14, 2015)

  • The creation of a PDF table was moved to a separate method to allow customization
  • Processing of the start attribute in an ordered list
  • General cleanup of ImageCSSApplier
  • CSS for borders is now also applied to images
  • Automatic scaling of images has been turned off
  • Added support for the align attribute in paragraph and only override the alignment if its alignment isn't the default

New in XML Worker 5.5.2 (May 14, 2015)

  • Major improvements to the CSS parser (complete rewrite of the functionality resulting in much better interpretation of CSS syntax).
  • Better support for the tag.
  • Better support for underlined and strike-through text.
  • Avoiding a NPE in the Table class
  • Avoiding a NPE in the Table class

New in XML Worker 5.5.1 (May 14, 2015)

  • Code contribution by a customer, Arnost Havelka (SUP-425), fixing a problem when parsing table tags. The fix worked, and MichaĆ«l added some extra fixes on top of the suggestions by Arnost Havelka: cells with a rowspan wouldn't be skipped on the calculation of the widths of the second (and other) row.
  • Bugfix: wasn't recognized as a closed comment block and kept writing the rest of the html file to memory().comment().
  • changed the value of TBODY to "tbody" instead of "thead"
  • bugfix: inside a tag was overridden
  • bugfix: and inside a tag resulted in subtracting 1 from the parentSize, which was -1 (Font.UNDEFINED), which resulted in inverted text

New in XML Worker 5.5.0 (Feb 14, 2014)

  • Letter-spacing support (for XFA Worker)
  • Support for element.class and element#id selectors

New in XML Worker 5.4.3 (Jul 30, 2013)

  • Removed the SVG code; it never worked and we didn't find any interested contributors to fix it.
  • Fixed the ArrayIndexOutOfBoundsException caused by tables.

New in XML Worker 5.4.2 (Jul 30, 2013)

  • Fixed rendering of tables with fixed-width columns.

New in XML Worker 5.4.1 (Jul 30, 2013)

  • Fix: The background-color position for image wasn't not correct
  • Fixed bug with separated selectors
  • Fixed height calculation for rows
  • Cleaned up default.css by removing tags, moving them to StyleAttrCSSResolver
  • Fix for XFA worker in ChunkCssApplier: add support of , and elements
  • Fix for XFA worker in ChunkCss

New in XML Worker 5.4.0 (Mar 18, 2013)

  • Fixed issues with positioning.
  • Fix layout problems when using consecutive spaces.

New in XML Worker 5.3.5 (Mar 18, 2013)

  • Fixed incorrect image size after splitting a cell in a row.
  • Fixed problem with disappearing content due to fixed height of rows (replaced by minimum heights).
  • Fixed alignment problem in cells.

New in XML Worker 1.2.1 (Nov 6, 2012)

  • Replaced an ArrayList with a LinkedList in the Tag class.
  • Fixed a problem caused by combinations of table and div tags.
  • Added a new createSelectors() method to CssSelector.

New in XML Worker 1.2.0 (Sep 27, 2012)

  • AbstractTagProcessor is more overridable now.
  • Fixed rgb() bug for CSS colors defined in the section.

New in XML Worker 1.1.6 (Aug 23, 2012)

  • Changes:
  • Fix: if inCssFile is null, the default CSS should be used.
  • Fix: When a div is in a table, XML Worker 1.1.5 (using iText 5.3.1) fails. 1.1.4 with 5.3.0 does produce output.
  • Fix: the inner tables were acquiring the width of the first column of outer table rows if the contained row spans across multiple columns.

New in XML Worker 1.1.3 (Apr 2, 2012)

  • 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.
  • 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[] with String... in FileRetrieveImpl.
  • Adding a constructor to FileRetrieveImpl with a File object defining a root directory as parameter.
  • Adding a setFileRetrieve() method to the CSSResolver interface.
  • XMLWorkerFontProvider: With DONOTLOOKFORFONTS, you can avoid that the FontProvider 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 to reset() failed). Now we expect a '>' in the first 1028 characters.
  • Added setChunkCssAplier() method to the CssAppliers interface

New in XML Worker 1.1.1 (Dec 1, 2011)

  • Changes:
  • Added a subclass Value to the Attribute subclass of the HTML class.
  • Better check for CSS link.
  • Reuse the TagProcessorFactory inside XMLWorkerHelper.
  • Changed the accidental rename in StackKeeper of getTag() to getName() back to getTag(), as it returns a Tag.
  • Added FLOAT, RIGHT and BOTTOM to the CSS class for future use.
  • Removed the CssApplier interface. It's no longer used: XYZCssApplier no longer implements CssApplier. Some had different method signatures anyway. XYZCssAppliers are now used through the CssAppliers class which will detect which applier to use. This change makes the css applier classes easier to be used elsewhere by decoupling it from the HtmlPipelineContext.
  • Fixed bug #3397508: content placed in a child tag of p-tag wasn't shown if the p-tag contained a xfa tab style attribute.
  • Fixed bug #3413287: The disc symbol of an unordered list was rendered too big and not the same colour as the list content. An ordered list rendered the symbol at the correct size but also suffers the color issue.
  • CssUtils: added a defaultMetric parameter to the method parsePxInCmMmPcToPt. This will allow to set the defaultMetric of numeric values.
  • Bugfix: the wrong Reader instance was used in the parseWithReader method of the XMLParser class.
  • Bugfix XMLParser: the InputStream wasn't being reset after detecting the encoding in the detectEncoding() method.