diff --git a/pdf/input.docx b/pdf/input.docx new file mode 100644 index 0000000000..b6b2b09f79 Binary files /dev/null and b/pdf/input.docx differ diff --git a/pdf/output.pdf b/pdf/output.pdf new file mode 100644 index 0000000000..ebbe80989e Binary files /dev/null and b/pdf/output.pdf differ diff --git a/pdf/src/main/java/com/baeldung/pdf/DocxToPDFExample.java b/pdf/src/main/java/com/baeldung/pdf/DocxToPDFExample.java new file mode 100644 index 0000000000..1df5e7eef2 --- /dev/null +++ b/pdf/src/main/java/com/baeldung/pdf/DocxToPDFExample.java @@ -0,0 +1,35 @@ +package com.baeldung.pdf; + +import com.itextpdf.text.Document; +import com.itextpdf.text.DocumentException; +import com.itextpdf.text.Paragraph; +import com.itextpdf.text.pdf.PdfWriter; +import org.apache.poi.xwpf.usermodel.XWPFDocument; +import org.apache.poi.xwpf.usermodel.XWPFParagraph; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; + +public class DocxToPDFExample { + + public static void main(String[] args) throws IOException, DocumentException { + InputStream docxInputStream = new FileInputStream("input.docx"); + try (XWPFDocument document = new XWPFDocument(docxInputStream); + OutputStream pdfOutputStream = new FileOutputStream("output.pdf");) { + Document pdfDocument = new Document(); + PdfWriter.getInstance(pdfDocument, pdfOutputStream); + pdfDocument.open(); + + List paragraphs = document.getParagraphs(); + for (XWPFParagraph paragraph : paragraphs) { + pdfDocument.add(new Paragraph(paragraph.getText())); + } + pdfDocument.close(); + } + } +}