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