Version 3.3.1 is now released.
This is a minor release; please see below for notable changes.
It is in Maven Central: http://search.maven.org/#search%7Cga%7C1%7Cdocx4j
Alternatively, you can get it at http://www.docx4java.org/docx4j/docx4j- ... -3.3.1.zip
As previously, the zip file contains three optional components:
- export-fo (if you prefer that to Plutext's commercial PDF Converter)
- ImportXHTML, for importing XHTML to docx
- MOXy, to use EclipseLink MOXy as your JAXB implementation, instead of the Sun/Oracle reference implementation (or the variant they ship in Java)
There are artifacts in Maven Central corresponding to each of these (see the link above).
Source code is available at https://github.com/plutext/docx4j/tree/docx4j-3.3.1/ or in a jar from Maven Central
Enjoy the new release!
cheers .. Jason
Notable Changes in Version 3.3.1
Contents lists are now of type ArrayListWml, in which parent is automatically set correctly
org.docx4j.anon: new package which converts a docx to lorem ipsum latin, and removes
other sensitive info, so the docx can safely be shared eg for tech support.
For this to work, you'll need to add a new dependency: http://search.maven.org/#artifactdetail ... C2.0%7Cjar
OpenDoPE: Two separate performance optimizations which substantially speed up large XML binding jobs. By traversing the XML data, manually calculate and cache XPaths (tested with 500,000 entries). Our strategy is to try the cache first (if enabled), then if there is a cache miss, use org.apache.xpath.CachedXPathAPI (the second optimization - CachedXPathAPI is quicker than default javax.xml.xpath.XPath implementations)
Dedicated parts for w15 CommentsExtended and People
Support anchor attributes wp14:anchorId and wp14:editId; children wp14:sizeRelH, wp14:sizeRelV
Support w:bdo and w:dir from ECMA 376 4ed
workaround for MOXy issue triggering pre-processing from binder: http://stackoverflow.com/questions/3722 ... not-binder
JAXB event handler: make shouldContinue false by default, mc Content pre-processing works in MOXy (for unmarshalling anyway, as distinct from binder)
unmarshall input stream: do mc pre-processing if necessary
New property docx4j.jaxb.marshal.canonicalize:
Whether to canonicalize during marshalling (defaults to false);
this is for aesthetic purposes: the Sun/Oracle JAXB reference implementation
writes a lot of unnecessary namespaces (each one in the JAXB context?).
Dependency Changes
Added com.thedeanda:lorem:jar:2.0; only required if you want to use org.docx4j.anon (see above)