我有一个.docx模板,其中定义了字段。我需要在Web服务中获取用户输入的数据,并使用Java将其插入到这些字段中。
我和我的团队在一天的大部分时间里一直在研究这个问题,但我们一直无法找到解决方案。
有没有办法相对容易地做到这一点?
感谢。
编辑:
按下alt + F9后,所有字段都显示如下:{ FORMTEXT }
POI似乎没有足够的支持来做到这一点。
我无法在Windows XP中成功设置Open Office SDK,因为我无法完成所有依赖项。
docx4j可能有效,但其中的MailMerger目前没有填写给定数据的字段。
如果我解压缩docx并打开word / document.xml文件,这就是围绕一个字段的XML:http://pastebin.com/uXBtz7X5(搜索FieldName和FieldValue以查看这些字段的定义)
答案 0 :(得分:3)
查看Docx4j,您可以使用它来更新docx文档中的字段,还有示例
答案 1 :(得分:2)
答案 2 :(得分:0)
docx格式是一个zip文件,里面有XML和其他文件。您可以使用标准XML工具编辑XML文件。
答案 3 :(得分:0)
Docmosis和JODReports可能会对您有所帮助 - 它们是用于生成多种格式的文档/填充模板的Java库。 Docmosis可以与DocX一起使用,因为它们基于相同的技术,JODReports也可能。我不知道特定的{FORMTEXT}字段是否可行,但Docmosis可以使用纯文本文件或Word的合并字段,当您按ALT-F9时,它们看起来像{MERGEFIELD}。