MS Word文档为T4模板

时间:2014-03-06 05:09:02

标签: templates ms-word t4

我想在MS Word中使用自定义内容控件嵌入T4模板。以下图片说明了一切:

<< Insufficeint repuation post images: 想象一下带有包含T4标记的自定义内容控件的MS Word文档。非常简单。我会尽快添加图片。 >>

我正在使用Office 2010并启用了开发者模式。

有趣的是,对于一些不同的客户,我使用了自定义内容控件,但是嵌入了XSL / XPath查询。这很有效,但需要结构良好的XML才能高效工作。

<< Insufficeint repuation post images: 想象一下包含XPath查询的自定义内容控件的MS Word文档。包括XSLT样式for-each()循环和value-of()>>

使用Word.Interop实现文档处理器非常简单 - 上图的解析器从开始到结束大约需要3个小时。然而,使用T4并不是那么简单。

我正在考虑的方法是使用序列化的word文档,并用T4标记替换自定义控件(生成T4模板)并将其提供给T4编译器。这将是相当多的工作。操作序列化的word文档会非常困难。

一些可能的方法:

  1. 尝试转换OpenXML文档以生成T4模板,该模板在处理时将会生效 生成OpenXML文档。在此过程中,所有CustomContentControls都替换为T4模板。这听起来像是生成损坏文档的好方法。
  2. 尝试让T4编译器与某些OpenXML SDK进行交互。无法看到任何可行的方式。
  3. 尝试让T4编译器与Word.Interop进行交互。无法看到任何可行的方式。
  4. 试着说服微软,这是一个非常好(很有趣)的想法,许多客户都希望这样。
  5. 所以,我的问题是:

    1. 是否存在执行此操作的工具?如果没有,
    2. 我可以采用一种简单的方法来做到这一点吗?如果没有,
    3. 我可以说服其他人去接受这样一个有趣的挑战吗?
    4. 有趣的是,我已经使用T4模板很长一段时间了,发现它们很棒。在过去生成文档时,我使用T4生成XML,然后将XML链接到MS Word模板以生成文档。所有这些都包含在MSBuild脚本中,我们为我们的软件提供了完整的构建过程,包括面向客户的文档。

0 个答案:

没有答案