使用Java将文档插入到Docx4j和OpenDOPE的Word文档中的特定点

时间:2015-08-01 20:18:07

标签: java xml docx4j mailmerge

我有两个文件 - 一个是标准MS-Word docx格式文件形式的模板文档,使用Plutext开发的MS-Word OpenDoPE加载项标记内容控件占位符。第二个文件是包含数据的XML文件。使用DOCX4J的例程完美地合并两个作品。到目前为止都很好。问题是XML文件只包含图像所在的文件路径名。因此,在合并之后,Word文档包含代替Content Control占位符的字符串,指示图像的位置。如何将图像放入文档中代替图像位置字符串。

考虑的一种方法是用图像的base64编码替换XML数据文件中的图像路径(不确定如何做到这一点,但OpenDoPE的文档建议它应该工作)。另一种选择似乎是在已经合并的Word文档中找到路径字符串,然后使用类似DOCX4J库中的BinaryPartAbstractImage函数来插入图像。这个问题似乎是OpenXML文档中的任何搜索和替换操作似乎都充满了困难。

1 个答案:

答案 0 :(得分:0)

在创作时,将base64编码的图像放在您使用的示例XML文件中的某个元素中,并且"友好" OpenDoPE插件。

然后,当您将该元素拖到文档表面上时,加载项应检测到它是图像,并将相应的标记添加到内容控件。

如果这样做,那么在运行时,将使用运行时XML中的任何base64编码图像。