XMLWorker 1.0.0 a preview

Next week we’ll release XMLWorker 1.0.0.

We think it’s ready enough to call it a 1.0.0 (which is only a number but… still marks kind of a milestone in the project.). We will also release an new iText version (5.1.1) there are some small bugs fixed and XMLWorker 1.0.0 will only work from iText 5.1.1 on.

The previous release 0.9.2 was an early bird view. A lot has changed since last month. The major changes are:

Table Improvements

  • Background colors of tables are fixed.
  • Table margin top fixed
  • Table top and bottom margins now act more like in HTML.
  • Default height cell acts more like HTML.
  • Last cell in row now receives correct start width.

List Improvements

  • Synchronized the list symbol to the font size of the content of a list.
  • List symbols are now shrunk and aligned in the middle of the line.
  • Invalid html tags inside <ul><ol> (like a <p> not wrapped in a <li>, will be converted to a ListItem.

Various other improvements/changes

  • Horizontal rule is now positioned correctly.
  • Fixed a bug where CSS styles were not selected in the right order.
  • XmlWorker specific css styles ‘repeat-header’ and ‘repeat-footer’ implemented in tables.
  • Direct <div> content is now added.
  • We put error messages in resource bundles. (feel free to send in translations)
  • Introduced the Pipeline. A way to separate the processing of the tags and content on basis of what should be done with it.
  • Removed TagListeners, Pipelines do their job now.
  • The XMLWorkerConfiguration is replaced with configuration per Pipeline.
  • Added a LinkProvider and an ImageProvider.
  • An AbstractImageProvider that only requires an image root to be implemented.
  • Added a lot of Javadoc.
  • Add extra examples
  • Change the XMLParser to pass the content as a byte[] allowing pipelines to convert to Strings properly.

Writing more documentation is still a work in progress. We’ll publish what we have together with the 1.0.0 version. Writing the documentation also improves the code base, for example: when we write examples we find things that could be made easier, and change them.

There are certainly parts where improvements can be done. Don’t hesitate to report an issue over at sourceforge. Question can be send to the itext mailinglist, be sure to subscribe to it before to send a mail to it.

1.0.0 does not support absolute positioning, you could try to order things with a table instead not does it support invalid xml and invalid css files.

The 1.0.0 version will be put in Central Maven Repository? of course !

Note: the same License ( AGPLv3 ) as iText applies to XMLWorker code.

Some project links:
ohlohsourceforgeitextdemoci

Leave a Reply

  1. I need help to develop an application that can be used externally css but I searched a lot of information about it but I have been very helpful, I hope you can help me with an example to take into account external css file thanks

  2. Take a look at the documentation of XMLWorker, it’s in there. And has recently been posted on itexts public mailing list too. Hint: look for method addCss or addCssFile don’t remember exactly.