内容控制图片绑定

时间:2013-07-08 16:30:36

标签: java contentcontrol docx4j

感谢这个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结果后的结果:

enter image description here

我错过了什么吗?我可以在某个地方找到适当的样本吗?

感谢您的帮助! CL

PS:我在docx4j论坛上创建了an equivalent post:如果在那里找到了有效的解决方案,我会在这里报告。

1 个答案:

答案 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编码的图像,它将自动创建图片内容控件。