0

多亏了这个出色的示例,我现在熟悉了在运行时使用 docx4j 从任何构建良好的 xml 文件到包含内容控件的 word 模板的值绑定。但是我找不到一种方法来实现在我的模板中注入图片的类似方法。

我尝试使用 Word developerper 功能区在我的模板中添加图片内容控件,并将其绑定到我的 xml 输入中的一个值,该值是我的图片的 64 位编码字符串。但是当我使用 docx4j 执行绑定时,生成的 doc 文件不包含图片,而是得到一个奇怪的结果(见捕获)。

我的绑定方法如下所示:

// 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 论坛上创建了一个等效的帖子:如果在那里找到可行的解决方案,我会在这里报告。

4

1 回答 1

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 的目的,我建议您使用创作插件来创建您的内容控件。如果该工具检测到您正在绑定 base64 编码图像,它将自动创建图片内容控件。

于 2013-07-08T22:32:51.183 回答