XMLMill - convert xml to pdf with java. Generate PDF from xml/xsl.

High volume xml-xsl to PDF Generation

This page as PDFPrinter friendly pageEmail this page to a friendSubscribe to our mailing list

Release Notes

XMLMill 1.20 (March 21st, 2002)

  • Please note that the DTD has changed in this version. You need to update your xmlmill xml / xsl files in order to be able to use this version of XMLMill with it. Please make a back-up of all your xml/xsl files before installing this version.


Enhanced Element Positioning (EEP 1.0):

  • The elements (box, paragraph, table, image, ...) are now 'intelligent'. If an element notices there is a collision with another element, it will try to position itself at the best possible place. This greatly facilitates using xsl for generating PDFs as not all information may be available for every PDF file (and not all elements will be written in the PDF). Please visit our EEP tutorial.

Command-line interface:

  • As of now XMLMill can also be used from the command-line, giving you the same possibilities as interactive use. It supports the POSIX style named options or the GNU long style named options. Please visit the end-user page

Separate XSL file can be defined:

  • As of now a separate xsl file can be defined to be used for generating PDF files. This has the advantage that:
    - it is no longer necessary to define an xsl reference into an xml file.
    - a xml file can be used with more than one xsl file.

Extended attributes for elements:

  • Most elements (textbox, image, paragraph) have now more attributes.

For other changes, please look below...


  • The document element is now <documents>, this to be more consistent with the name of PDF document.
  • The <report> tag has become obsolete. It has been replaced with the <document> tag, this to be more consistent with the Java API (PDEDocument class represents a document object).
  • The <watermark> tag has become obsolete. It has been replaced with the background-image and background-position attributes of the <pagetemplate> tag.
  • The <table> tag now supports the text-wrapping attribute.
  • The <line> tag is now supported.
  • The margin-top, margin-left, margin-right and margin-bottom attributes are added to most elements (p, box, textbox, image, line, table).
  • The padding-top and padding-left attributes of the <p> tag are suppressed . Please you the margin attributes.
  • The text-align attribute of the <p> tag has been changed to align.
  • The valign attribute is added to the <box> tag.
  • The <newpage> tag has a new attribute: flush. If flush is true all pending elements will be written to the page and then a new empty page will be added. If flush is false a new page will be added and then the pending elements will be written to this new page.


  • If a directory, where a PDF document should be written to, does not exists, it will automatically be created.


  • Refactoring of the XMLMill's class model to incorporate support for EEP (Enhanced Element Positioning). Some methods in the API have changed, but the number of changed methods are limited
  • There is now a perfect match between the set/get methods of the PDE classes and the corresponding <tag> and attributes in the xml/xsl interface.
  • The methods startXMLElement, XMLcharacters and end XMLElement in the PDEXMLReader interface now return a boolean value (classes that implement this interface are also adapted).
  • The method setOutputPDFFile in the PDFDocument class will automatically create a directory, where a PDF document should be written to, if this directory does not exists yet.
  • The PDEWatermark class has been suppressed.
  • The setMarginLeft, setMarginRight, setMarginTop, setMarginBottom and corresponding get method are added to the PDEElements class.


  • The log file now returns the line-number and column-number when there is a warning, error or fatal error.
  • The log file now only returns the elements that could not be transformed (and no longer all elements).


  • This version uses the JS2E version 1.3.1.
Copyright © 2001 - 2012. All rights reserved. XMLMill and XMLMill logo are trademarks of Pecunia Data Systems, bvba.
Powered by Apache CocoonPowered by XMLMill