TinyButStrong OpenTBS将一个模板的输出包含到其他子模板中

时间:2018-09-19 04:13:53

标签: opentbs tinybutstrong

我们正在使用TinyButStrong和OpenTbs从模板准备word(docx)文档。我们基本上需要处理几个子模板(基于用户选择的内容),然后将所有作为表行的内容合并到主模板中。

所以基本上我们需要这样的东西:

Final Template Table Row 1 - Output from docx1 template Row 2 - Output from docx2 template

各行可能会有所不同,因此每行的子模板文件也会有所不同。

TBS似乎有一个subtpl标记,但是尚不清楚它如何接受参数,特别是当我们需要告诉它使用哪个文件以及每个模板要绑定的参数时。

1 个答案:

答案 0 :(得分:0)

由于内部元素的原因,很难合并两个DOCX文档(对于XLSX,PPTX等)  由Office女士自动管理(图片,图表,样式,编号...)。

内部元素的内部ID不同于DOCX,即使它们在视觉上完全相等。

因此,当您从第一个文档中获取一个内容时,其内部ID可能与您要在其中插入内容的另一个文档不一致。 发生此问题时,Office女士会显示消息

  

对不起。我们无法打开xxxxx.docx,因为发现其内容有问题。

将外部代码段从DOCX插入到另一个DOCX的唯一方法是确保代码段中未使用内部IDS。 这样的片段很难构建。

但是从文档中检索代码段的技术很简单。参见GetBlockSource()

然后将其插入另一个也很简单。参见MergeBlock(),其源类型为'text'。