将 docx 转换为 pdf 错误

时间:2021-02-15 14:12:42

标签: java pdf java-8 apache-poi docx

我需要将 docx 转换为 pdf,我的代码是这样的:

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);

这些库是:

<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>

问题是当程序执行 pdfConvert 时它给了我这个异常:

<块引用>

线程“main”中的异常java.lang.NoClassDefFoundError: org/apache/poi/POIXMLDocumentPart 在 org.apache.poi.xwpf.converter.core.styles.XWPFStylesDocument.getFontsDocument(XWPFStylesDocument.java:1477) 在 org.apache.poi.xwpf.converter.core.styles.XWPFStylesDocument.(XWPFStylesDocument.java:190) 在 org.apache.poi.xwpf.converter.core.styles.XWPFStylesDocument.(XWPFStylesDocument.java:184) 在 org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.createStylesDocument(XWPFDocumentVisitor.java:166) 在 org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.(XWPFDocumentVisitor.java:159) 在 org.apache.poi.xwpf.converter.pdf.internal.PdfMapper.(PdfMapper.java:149) 在 org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:55) 在 org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:38) 在 org.apache.poi.xwpf.converter.core.AbstractXWPFConverter.convert(AbstractXWPFConverter.java:45) 在 apachePoi.apachePoiMain.convertiPDF(apachePoiMain.java:137) 在 apachePoi.apachePoiMain.main(apachePoiMain.java:111) 引起: java.lang.ClassNotFoundException: org.apache.poi.POIXMLDocumentPart 在 java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606) 在 java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168) 在 java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ……还有 11 个

谁能帮我解决这个问题?

0 个答案:

没有答案
相关问题