如何使用OpenXML构建自定义句子

本文关键字:自定义 句子 构建 OpenXML 何使用 | 更新日期: 2023-09-27 18:12:34

我想知道是否有一种方法可以在。docx中"玩"句子。

我需要做的是:

我在文档中有一个段落

我的段落的例子:这是一个段落,我需要格式化基于一些条件,我不知道如何做到这一点与openxml sdk。示例结束。

因此,基于我在c#中评估的一个条件,我想添加/删除文本。你应该知道的另一件事是,我想让产品负责人更改文档的文本。

基本上我想要实现的是有一个模板文档,我的产品所有者可以随意编辑,但在这个文档中,文本可能会根据文档的产生而改变。

谢谢

如何使用OpenXML构建自定义句子

您可以在Word中创建模板文档,并在希望动态插入文本的每个位置创建内容控件。对于每个创建的内容控件,您应该设置唯一的Tag属性值。在c#应用程序代码中,您可以很容易地通过标签找到内容控件。找到它之后,您可以保存它的父节点,删除内容控件并插入您想要的文本,作为先前保存的父节点的子段落元素。

您可以使用Developer选项卡添加内容控件。如果您不能看到它,您可以使用下面描述的步骤来显示它:http://msdn.microsoft.com/en-us/library/bb608625.aspx .

替换文本涉及到一些复杂性,因为文本可以分成多个运行。如果您希望您的所有者能够编辑文档,这是您必须解决的问题。幸运的是,有一些示例代码可以作为Open XML的PowerTools的一部分使用。PowerTools是为PowerShell编写的cmdlet,但您可以将核心c#代码用于您自己的程序。cs模块应该为您提供了一个很好的起点。您将需要它所依赖的一些其他模块,如PtOpenXmlDocument.cs、PtOpenXmlUtil.cs和PtUtil.cs。