感谢这个excellent sample,我现在熟悉运行时使用docx4j从任何构建良好的xml文件到包含内容控件的word模板的值绑定。 但我无法找到一种方法来实现在我的模板中注入图片的类似事物。
我尝试使用Word开发者功能区在我的模板中添加图片内容控件,并将其绑定到我的xml输入中的值,该值是我的图片的64位编码字符串。 但是当我用docx4j执行绑定时,生成的doc文件不包含图片,而是得到一个奇怪的结果(参见capture)。
我的绑定方法如下所示:
// Process conditionals and repeats
OpenDoPEHandler odh = new OpenDoPEHandler(_document);
odh.preprocess();
OpenDoPEIntegrity odi = new OpenDoPEIntegrity();
odi.process(_document);
// Apply the bindings
// Convert hyperlinks, using this style
BindingHandler.setHyperlinkStyle("Hyperlink");
BindingHandler.applyBindings(_document);
// Strip content controls: you MUST do this
// if you are processing hyperlinks
RemovalHandler rh = new RemovalHandler();
rh.removeSDTs(_document, Quantifier.ALL);
保存.docx结果后的结果:
我错过了什么吗?我可以在某个地方找到适当的样本吗?
感谢您的帮助! CL
PS:我在docx4j论坛上创建了an equivalent post:如果在那里找到了有效的解决方案,我会在这里报告。
答案 0 :(得分:1)
该图像是picture-bind.docx中嵌入的图像,通过:
<w:dataBinding w:xpath="/invoice[1]/items[1]/item[1]/name[1]" w:storeItemID="{3C1B665A-D738-4822-8EFB-14B133235CCB}"/>
你没有成功改变那种约束力。
对于docx4j / OpenDoPE目的,我建议您使用authoring add-in来创建内容控件。如果该工具检测到您正在绑定base64编码的图像,它将自动创建图片内容控件。