5

我正在尝试使用通过 OpenXML SDK 读入的 docx 作为 .Net Web 应用程序中的模板用于套用信函(基本上)。我有一个带有我想要的格式的 docx,用从 xsd 定义的 XML Schema 标记进行标记(无论它们被称为什么,对此的帮助都非常无用)。

我在 Google 上发现的唯一类似的东西似乎是将 CustomXmlBlock 元素替换为具有所需数据的文本元素。这看起来……凌乱而脆弱。

我还增加了一些复杂性,即某些数据是分层的,包含部分的元素,然后是该部分中的项目。这似乎完全打破了上述方法。

那么,有人可以为我指出正确的方向吗,或者建议一种更好的方法来处理模板格式的信件?

4

1 回答 1

6

有多种选择:

  1. 你在做什么,XSD 模式映射。这是在 Word 2003 中引入的。它实际上只在该版本的 Word 中真正活跃,因为当 Word 2007 出现时,首选的新表单方法成为 #2。
  2. 内容控制。更多关于这下面。
  3. 久经考验的是Bookmarks。如果你有兴趣,这里有一篇文章

对于 Content Controls 1,概念很简单:将内容控件包装在所需的层次结构中。也就是说,例如,有一个Date Picker Content Control和一个Rich Text Content Control然后将它们分组。然后在富文本内容控件中,放置一个组合框内容控件Eric White 在处理 Open XML WordprocessingML Document 中的所有内容部分时就从 Content Controls 内部检索内容写了一篇很棒的入门文章。本文在其链接Using Open XML WordprocessingML Documents as Data Sources中对内容控件进行了更全面的介绍。

有关内容控件的更多链接:

  1. Brian Jones 的网站有很多很棒的文章。我相信这是他的第一个:组装多个 Word 文档基于您自己的自定义 XML(无需 XSLT)创建丰富的 Word 文档的简单方法。
  2. Word 内容控制工具包。可能是使用内容控件的最佳工具。
  3. 视觉如何内容。这里的许多文章都涉及内容控件。

1 要在 Word 客户端中手动使用内容控件,请从选项中启用“开发人员”功能区,然后插入内容控件并从开发人员功能区中控件组的左侧部分设置其属性。

于 2010-09-24T01:25:03.630 回答