1

I need to convert docx in pdf and my code is this:

XWPFDocument doc = new XWPFDocument(new FileInputStream(originalPathSource));
PdfOptions options = PdfOptions.create();

        OutputStream out = null;
        try {

            out = new FileOutputStream(new File(targetFileName));
        
            PdfConverter.getInstance().convert(docx, out, options);

the libraries are these:

<properties>
        <versioniApache>4.0.1</versioniApache>
        <versioniApachePDF>1.0.6</versioniApachePDF>
        <versioniApacheSchema>4.1.2</versioniApacheSchema>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>${versioniApache}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>${versioniApache}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>${versioniApache}</version>
        </dependency>


        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.core</artifactId>
            <version>${versioniApachePDF}</version>
        </dependency>

        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
            <version>${versioniApachePDF}</version>
        </dependency>

The problem is when the programs exetuce pdfConvert it gives me this exception:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/POIXMLDocumentPart at org.apache.poi.xwpf.converter.core.styles.XWPFStylesDocument.getFontsDocument(XWPFStylesDocument.java:1477) at org.apache.poi.xwpf.converter.core.styles.XWPFStylesDocument.(XWPFStylesDocument.java:190) at org.apache.poi.xwpf.converter.core.styles.XWPFStylesDocument.(XWPFStylesDocument.java:184) at org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.createStylesDocument(XWPFDocumentVisitor.java:166) at org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.(XWPFDocumentVisitor.java:159) at org.apache.poi.xwpf.converter.pdf.internal.PdfMapper.(PdfMapper.java:149) at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:55) at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:38) at org.apache.poi.xwpf.converter.core.AbstractXWPFConverter.convert(AbstractXWPFConverter.java:45) at apachePoi.apachePoiMain.convertiPDF(apachePoiMain.java:137) at apachePoi.apachePoiMain.main(apachePoiMain.java:111) Caused by: java.lang.ClassNotFoundException: org.apache.poi.POIXMLDocumentPart at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 11 more

Anyone can help me to resolve this?

JoeB
  • 201
  • 2
  • 4
  • 9
  • 2
    Does this answer your question? [Apache POI exception](https://stackoverflow.com/questions/52339378/apache-poi-exception) – Anish B. Feb 15 '21 at 14:16
  • 4
    You are mixing `apche poi` versions, `4.0.1` with `4.1.2`. [Don't do that as it is not supported.](https://poi.apache.org/help/faq.html#faq-N10204). Also version `1.0.6` of `fr.opensagres.xdocreport` is to old for `apache poi 4`. Version `2.0.2` needs to be used. – Axel Richter Feb 15 '21 at 14:30

0 Answers0