我使用以下代码将docx转换为pdf.
public static void main(String[] args) { File inputdocxfile = new File(System.getProperty("user.dir") + "/src/test/resources/files/output/"); File outputpdffile = new File(System.getProperty("user.dir") + "/src/test/resources/files/output/" + "CustomerOutputdocx.pdf"); IConverter converter = LocalConverter.builder().baseFolder(inputdocxfile) .workerPool(20, 25, 2, TimeUnit.SECONDS).processTimeout(5, TimeUnit.SECONDS).build(); Futureconversion = converter.convert(inputdocxfile).as(DocumentType.MS_WORD).to(outputpdffile) .as(DocumentType.PDF).prioritizeWith(1000).schedule(); }
我在下面的例外中得到了这个.我使用的是与documents4j官方网站中提到的相同的代码.
Exception in thread "main" java.lang.IllegalStateException: The application was started without any registered or class-path discovered converters. at com.documents4j.conversion.ExternalConverterDiscovery.validate(ExternalConverterDiscovery.java:68) at com.documents4j.conversion.ExternalConverterDiscovery.loadConfiguration(ExternalConverterDiscovery.java:85) at com.documents4j.conversion.DefaultConversionManager.(DefaultConversionManager.java:22) at com.documents4j.job.LocalConverter.makeConversionManager(LocalConverter.java:74) at com.documents4j.job.LocalConverter. (LocalConverter.java:47) at com.documents4j.job.LocalConverter$Builder.build(LocalConverter.java:162) at com.apakgroup.docgen.converters.ConvertToPdf.main(ConvertToPdf.java:19) Exception in thread "Shutdown hook: com.documents4j.job.LocalConverter" java.lang.NullPointerException at com.documents4j.job.LocalConverter.shutDown(LocalConverter.java:95) at com.documents4j.job.ConverterAdapter$ConverterShutdownHook.run(ConverterAdapter.java:125)
小智.. 7
我错过了很少的依赖,我也不得不使用较新版本的commons-io.我之前使用过commons-io 1.3但后来我才知道Documents4J使用了commons-io 1.4或更高版本,当commons-io版本被更改时,它工作了.如果有人想知道我在java中将docx文件转换为pdf的依赖关系.这些就是那些.
com.documents4j documents4j-api 1.0.0 com.documents4j documents4j-local 1.0.0 com.documents4j documents4j-transformer-msoffice-word 1.0.0 commons-io commons-io 2.4 com.google.guava guava 18.0
让我提醒你.此库仅适用于安装了MS Office的计算机; 因为库使用应用程序本身将docx转换为pdf.如果有人在服务器上托管这个代码也有一个遥控器,其如图所示,你可以改用本地转换器的位置.
我错过了很少的依赖,我也不得不使用较新版本的commons-io.我之前使用过commons-io 1.3但后来我才知道Documents4J使用了commons-io 1.4或更高版本,当commons-io版本被更改时,它工作了.如果有人想知道我在java中将docx文件转换为pdf的依赖关系.这些就是那些.
com.documents4j documents4j-api 1.0.0 com.documents4j documents4j-local 1.0.0 com.documents4j documents4j-transformer-msoffice-word 1.0.0 commons-io commons-io 2.4 com.google.guava guava 18.0
让我提醒你.此库仅适用于安装了MS Office的计算机; 因为库使用应用程序本身将docx转换为pdf.如果有人在服务器上托管这个代码也有一个遥控器,其如图所示,你可以改用本地转换器的位置.