使用 docx4j 从模板生成 word 文档后出现不可读的内容错误
Unreadable content error after generating word document from template with docx4j
我们最近一直在将 docx4j 用于需要从带有变量注入的模板生成 docx 的项目。为此,我们购买了 plutext-enterprise 库,以便能够合并多个文档以及变量注入:
<dependency>
<groupId>com.plutext</groupId>
<artifactId>Plutext-Enterprise</artifactId>
<version>6.1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j</artifactId>
<version>6.0.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
</exclusion>
</exclusions>
</dependency>
问题是打开生成的文档时,提示“内容不可读”,询问是否修复文档。最后,我想删除它。我已经尝试了很多事情,例如升级 docx4j 的版本,但我一直在使用企业库时概述的兼容性矩阵内。
此外,我已经尝试 运行 使用完全空白的模板文档进行测试,以消除文档中内容的任何错误,但生成的文档仍然显示此错误。这让我相信这是图书馆本身的问题。谁能就此提供进一步建议?
问题是 Microsoft 引入了需要声明的新命名空间前缀。解决办法是将docx4j升级到v8.2.9:https://www.docx4java.org/forums/announces/docx4j-8-2-9-released-following-word-updates-t2979.html
您现有的 Enterprise jar 应该没问题,但是可以使用更新的版本,因此可以选择升级。
我们最近一直在将 docx4j 用于需要从带有变量注入的模板生成 docx 的项目。为此,我们购买了 plutext-enterprise 库,以便能够合并多个文档以及变量注入:
<dependency>
<groupId>com.plutext</groupId>
<artifactId>Plutext-Enterprise</artifactId>
<version>6.1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j</artifactId>
<version>6.0.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
</exclusion>
</exclusions>
</dependency>
问题是打开生成的文档时,提示“内容不可读”,询问是否修复文档。最后,我想删除它。我已经尝试了很多事情,例如升级 docx4j 的版本,但我一直在使用企业库时概述的兼容性矩阵内。
此外,我已经尝试 运行 使用完全空白的模板文档进行测试,以消除文档中内容的任何错误,但生成的文档仍然显示此错误。这让我相信这是图书馆本身的问题。谁能就此提供进一步建议?
问题是 Microsoft 引入了需要声明的新命名空间前缀。解决办法是将docx4j升级到v8.2.9:https://www.docx4java.org/forums/announces/docx4j-8-2-9-released-following-word-updates-t2979.html
您现有的 Enterprise jar 应该没问题,但是可以使用更新的版本,因此可以选择升级。