JAVA在文本框中操作docx DOCVARIABLE

问题描述:

我正在开发一个JAVA服务器端应用程序,它将填充Microsoft Word Docx文件中的一些文本。 Docx文件包含多个文本框,每个文本框都填充了一个DOCVARIABLE,并调整了文本样式以使窗体看起来很棒。JAVA在文本框中操作docx DOCVARIABLE

我已经尝试了Apache POI,它确实找到了文本框但不能修改DOCVARIABLES。即使我要用占位符文本替换DOCVARIABLES,POI也不会让我修改文本框中的文本。由于这是服务器端应用程序,因此我无法采用需要运行完整msword.exe的C#解决方案。

任何人都可以阐明我应该如何继续?非常感谢。

我想我在研究一段时间后发现了这个问题的答案。

Docx4j是在这种情况下使用的软件包。它提供了遍历文档和抓取任何容器中的文本的功能。然后,需要修改docx文件,而不是使用DOCVARIABLES,使用MERGEFIELD或纯文本,并执行自己的技巧。