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

How to export docx to png using 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))]

我确定我缺少依赖项,但我不知道是什么。

在 docx4j 3.3.0 中,通过 FO 导出已移至单独的项目:

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

如果您使用的是 docx4j zip 分发版,请将 jar 添加到 optional/export-fo

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

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

使用这个:-

settings.setApacheFopMime(MimeConstants.MIME_PNG);

我认为问题是你有 "images/png",而不是 "image/png"