Skip to content
JAXB-based Java library for Word docx, Powerpoint pptx, and Excel xlsx files
Java XSLT HTML C# CSS GAP
Branch: master
Clone or download
Pull request Compare This branch is 2 commits behind plutext:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings
docs
docx4j-JAXB-Internal
docx4j-JAXB-MOXy
docx4j-JAXB-ReferenceImpl
docx4j-bundle
docx4j-core-tests
docx4j-core
docx4j-diffx-tests
docx4j-diffx
docx4j-docx-anon
docx4j-export-fo-tests
docx4j-export-fo
docx4j-openxml-objects-pml
docx4j-openxml-objects-sml
docx4j-openxml-objects
docx4j-samples-docx-diffx
docx4j-samples-docx-export-fo
docx4j-samples-docx4j
docx4j-samples-glox4j
docx4j-samples-pptx4j
docx4j-samples-resources
docx4j-samples-xlsx4j
etc
legals
lib
m2
xsd
.classpath
.gitignore
.project
CHANGELOG.md
OSGi.md
README.md
RELEASE_HOWTO.md
pom.xml
wagon-svn-pom.xml

README.md

README

Maven Central

What is docx4j?

docx4j is an open source (Apache v2) library for creating, editing, and saving OpenXML "packages", including docx, pptx, and xslx.

It uses JAXB to create the Java representation.

  • Open existing docx/pptx/xlsx
  • Create new docx/pptx/xlsx
  • Programmatically manipulate docx/pptx/xlsx (anything the file format allows)
  • CustomXML binding (with support for pictures, rich text, checkboxes, and OpenDoPE extensions for repeats & conditionals, and importing XHTML)
  • Export as HTML
  • Export as PDF (using Plutext's PDF Converter, or use docx4j-export-FO project)
  • Produce/consume Word 2007's xmlPackage (pkg) format
  • Apply transforms, including common filters
  • Font support (font substitution, and use of any fonts embedded in the document)

docx4j-8.0.0

This is docx4j for Java 8. Although in principle it would compile and run under Java 6, some of its dependencies are Java 8 only. So to run it under Java 6, you'd need to use the same version of the deps which docx4j 6.x uses.

docx4j v8 is a multi-module Maven project.

To use docx4j v8, add the dep corresponding to the JAXB implementation you wish to use

  • docx4j-JAXB-Internal (shipped in Oracle and OpenJDK v8)
  • docx4j-JAXB-ReferenceImpl (you may need to respect the endorsed dir mechanism for the RI jars)
  • docx4j-JAXB-MOXy

You should use one and only one of docx4j-JAXB-*

docx4j for Java 9 and later

is in preparation, will be based on this branch, and will require Java 11 (or possibly only 9); we're currently waiting on https://github.com/eclipse-ee4j/jaxb-ri to release a Java 11 friendly JAXB 2.4.0 to Maven Central.

How do I build docx4j?

Get it from GitHub, at https://github.com/plutext/docx4j

mvn clean
mvn install

Some of the tests might fail on Windows. For now, you could skip them: mvn install -DskipTests

For more details, see http://www.docx4java.org/blog/2015/06/docx4j-from-github-in-eclipse-5-years-on/

If you are working with the source code, please join the developer mailing list:

    docx4j-dev-subscribe@docx4java.org

Where do I get a binary?

http://www.docx4java.org/downloads.html

How do I get started?

See the Getting Started guide: https://github.com/plutext/docx4j/tree/master/docs

and the Cheat Sheet: http://www.docx4java.org/blog/2013/05/docx4j-in-a-single-page/

And see the sample code: https://github.com/plutext/docx4j/tree/master/src/samples

You'll probably want the Helper AddIn to generate code: http://www.docx4java.org/blog/2016/05/docx4j-helper-word-addin-new-version-v3-3-0/

Where to get help?

http://www.docx4java.org/forums or StackOverflow (use tag 'docx4j')

Please post to one or the other, not both

Legal Information

docx4j is published under the Apache License version 2.0. For the license text, please see the following files in the legals directory:

  • LICENSE
  • NOTICE Legal information on libraries used by docx4j can be found in the "legals/NOTICE" file.
You can’t perform that action at this time.