java - 将 docx 转换为 pdf 错误
问题描述
我需要将 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.xwpf.converter.core.styles.XWPFStylesDocument.getFontsDocument(XWPFStylesDocument.java:1477) at org.apache.poi 的 org/apache/poi/POIXMLDocumentPart .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) at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:55) at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert (PdfConverter.java:38) 在 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) 原因: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 更多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 更多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 更多
任何人都可以帮我解决这个问题吗?
解决方案
推荐阅读
- python - Importing python modules from another directory
- css - How to use the bootstrap 4 SASS mixins with customization in Angular 7 without importing multiple bootstraps
- ruby-on-rails - How to implement Many-to-Many in Active Record models in Rails?
- tomcat - Tomcat 过滤器映射无法通过 ProxyPass
- serverless-framework - 使用无服务器框架时如何使用默认请求模板?
- c# - 我不知道我的 lambda 表达式做错了什么,有人可以纠正我吗?
- python - 在 python 中,如何反转二维字典?
- javascript - Node.js 6.10 十六进制->BASE64->UTF8
- unit-testing - 单元测试失败 (JUnit+Mockito) - 空指针异常
- android - 如何在 android studio 的 facebook 上分享任何文字?