Skip to content

Java library for converting OOXML-based .docx documents to PDF using a clean separation between document parsing (DocxJavaMapper) and PDF generation (iText 7). Designed for backend document processing workflows.

License

Notifications You must be signed in to change notification settings

e-reznik/Docx2PDF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Info

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!

https://github.com/e-reznik/Docx2Pdf-Gui-Swing/releases/download/v0.1-alpha/Docx2Pdf-Gui-Swing-1.0-SNAPSHOT.jar

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
java.io.FileNotFoundException: 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

About

Java library for converting OOXML-based .docx documents to PDF using a clean separation between document parsing (DocxJavaMapper) and PDF generation (iText 7). Designed for backend document processing workflows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages