我有一个单词模板。有一张单词照片必须用图像替换。这必须使用Docx4Java完成。
我该怎么做?
答案 0 :(得分:1)
披露:我管理docx4j项目
VariableReplace 代码无法处理图片。
执行此操作的最佳方法是使用数据绑定内容控件,特别是通过XPath指向XML文档中基本64位编码图像的图片内容控件(有关详细信息,请参阅“入门”)。
但是,如果你想用图像替换一个单词,你可以这样做,但你必须写一些胶水代码。这很简单。
首先,找到这个词。您可以使用XPath或TraversalUtil执行此操作(有关详细信息,请参阅“入门”)。
希望它本身就在奔跑(w:r / w:t)。如果没有,您需要拆分运行,这样就不会替换相邻的文本。
然后,添加图像。请参阅示例 ImageAdd 。
我建议您查看在Word中添加图像时创建的XML(即保存并解压缩您的docx,然后查看document.xml)。请注意表示图像的XML处于正确的级别(例如w:p的子级)。
答案 1 :(得分:1)
如果特别想用图像替换文本(使用上面回答的 docx4j 是不可能的),您可以使用用图像替换书签作为替代方法。
只需打开模板化的 word 文件,将光标定位在所需位置并插入->书签并命名您的书签。 我按照说明 here 用图片替换了这个书签