Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Converts Docx-files based on OOXML (i.e. created with Microsoft Word 2007 or newer) into PDF.
First, the Docx-archive is read and mapped into POJOs with DocxJavaMapper. For the final conversion iText7 is used.

See it in Action!

Example usage

String docIn = "/home/user/docs/sample.docx";
String docOut = "/home/user/docs/out.pdf";
String fontsPath = "/home/user/docs/fonts/";

Converter app = new Converter(docIn, docOut, fontsPath);

// fontsPath can be null. In this case, a standard font will be used: Helvetica
// Converter app = new Converter(docIn, docOut, null);

Example GUI-Project

Supported elements

  • text
    • formatting
  • images
  • tables

Supported text formatting

  • Font family
  • Font size
  • text alignment
  • bold
  • italic
  • underline
  • strikethrough
  • colors 🔴 🔵
  • hyperlinks
  • highlighting

Coming soon...

  • lists
  • background color
  • headings
  • basic shapes

Detailed exception handling

Oct 08, 2020 4:33:04 PM Main main
SEVERE: File not found The Docx document doesn't exist: /home/user/docs/examaple.docx
Oct 08, 2020 4:28:44 PM Helper loadFont
WARNING: Font "Times New Roman" could not be found in /home/user/docs/fonts/
Oct 08, 2020 4:28:44 PM Converter highlightText
WARNING: java.lang.NumberFormatException: darkCyan could not be recognized as a valid color