如何使用docx4j将docx导出到png?

时间:2016-05-19 16:17:38

标签: java png docx docx4j

我正在使用docx4j 3.3.0,当我运行下面的代码时,我得到一个ClassNotFoundException。

OutputStream os = new FileOutputStream(file);
FOSettings settings = Docx4J.createFOSettings();
settings.setWmlPackage(wmlPackage);
settings.setApacheFopMime("images/png");
Docx4J.toFO(settings, os, Docx4J.FLAG_EXPORT_PREFER_XSL);

java.lang.ClassNotFoundException: org.docx4j.convert.out.fo.FOExporterXslt from [Module "org.docx4j-compat:main" from local module loader @19a1b0af (finder: local module finder @4656be4e (roots: C:\newton\jboss\modules,C:\newton\jboss\modules\system\layers\base))]

我确定我错过了依赖,但我不知道是什么。

2 个答案:

答案 0 :(得分:2)

在docx4j 3.3.0中,通过FO导出移动到一个单独的项目:

https://github.com/plutext/docx4j-export-FO

如果您使用的是docx4j zip分发版,请在optional / export-fo

中添加jar

如果您使用的是maven,请添加:

<groupId>org.docx4j</groupId>
<artifactId>docx4j-export-fo</artifactId>
<version>3.3.0</version>

答案 1 :(得分:0)

使用此:-

settings.setApacheFopMime(MimeConstants.MIME_PNG);

我认为问题在于您有“ images / png”,而不是“ image / png”