1

I am trying to convert a filled docx document from a template using Apache POI 5.0.0 throws a java.lang.ClassNotFoundException that does not find a class in the path org.apache.poi.POIXMLDocumentPart, I see this class in a different path org.apache.poi.ooxml, how to make it work? Thks My code for convert

    private void convertToPDF(XWPFDocument doc, String pdfPath) {
        try {
            PdfOptions options = PdfOptions.create();
            OutputStream out = new FileOutputStream(pdfPath);
            PdfConverter.getInstance().convert(doc, out, options);
            doc.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

I am using the following dependencies

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>5.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>5.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>5.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans</artifactId>
            <version>5.0.0</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.core</artifactId>
            <version>1.0.6</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
            <version>1.0.6</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>ooxml-schemas</artifactId>
            <version>1.4</version>
        </dependency>
Olaf Kock
  • 46,930
  • 8
  • 59
  • 90
Akimbot
  • 31
  • 1
  • 3
  • Solved the problem only by downgrading Apache POI version to 4.1.2 and used other converters https://mvnrepository.com/artifact/fr.opensagres.xdocreport/fr.opensagres.poi.xwpf.converter.pdf/2.0.2 https://mvnrepository.com/artifact/fr.opensagres.xdocreport/fr.opensagres.poi.xwpf.converter.core/2.0.2 – Akimbot Jul 09 '21 at 12:03
  • See https://stackoverflow.com/questions/51440312/docx-to-pdf-converter-in-java/51440649#51440649. Last `apache poi` version to work with `XDocReport` is `4.1.2`. Then `XDocReport` version `2.0.2` is needed. `Apache poi 5` cannot work since `XDocReport` needs `ooxml-schemas` which `apache poi 5` not supports anymore. – Axel Richter Jul 09 '21 at 12:06

0 Answers0