如何通过OpenDoPE加载项重复控制内容

时间:2017-02-17 05:51:06

标签: ms-word openxml docx4j

我有一行内容控件。我需要使用MS Word的OpenDoPE加载项按照数据xml重复该行

请参阅下表和我已完成的xml映射。

enter image description here

目前xml中有一个行节点,因此一行内容控制就足够了。但是当我在xml中添加更多行节点时,内容控件不会重复。

帮我解决此问题

2 个答案:

答案 0 :(得分:0)

您似乎正在使用https://opendope.org/implementations.html

中的“第一个/最早的”AddIn

有关如何在http://www.opendope.org/WordAddIn_walkthrough.pdf

使用它的说明

但是你可能最好使用http://www.opendope.org/downloads/authoring-friendly/setup.exe,它使用Microsoft在Word 2013中引入的拖放方法。

这个答案使用了这个。 (在安装之前,首先使用Windows“程序和功能”卸载旧的。)

使用示例XML:

<myxml>
  <rows>
    <row>
      <name>Abh</name>
      <company>Standout</company>
      <designation>Dev</designation>
    </row>
    <row>
      <name>Name2</name>
      <company>Co2</company>
      <designation>Design2</designation>
    </row>
  </rows>
</myxml>

(请注意rows元素)以及已根据您的问题映射的名称,公司和名称:

enter image description here

选择表格行,然后在XML Mapping任务窗格中,右键单击行(即要重复的第一个兄弟节点,而不是父节点),选择Repeat&gt;插入内容控件:

enter image description here

在设计模式中,您现在应该看到: enter image description here

(注意od:在三个表格单元格周围重复)

保存docx,然后您可以尝试使用https://github.com/plutext/docx4j/blob/master/src/samples/docx4j/org/docx4j/samples/ContentControlBindingExtensionsOld.java(更新第69行指向您的docx)。

答案 1 :(得分:0)

无论如何,我发现自己是解决这个问题的方法。问题是我的模板docx中重复内容控件的设计。我刚刚创建了一个富文本内容控件,并将我的整行(包含名称,公司,指定内容控件)放在其中并映射为重复。这解决了我的问题。请参阅以下内容控制设计

enter image description here

以下是名称字段

的xml映射

enter image description here

这里是重复内容controll(行)的xml映射

enter image description here