Document

Document class

代表 Word 文档。

要了解更多信息,请访问使用文档文档文章。

public class Document : DocumentBase

构造函数

姓名描述
Document()创建一个空白 Word 文档。
Document(Stream)从流中打开现有文档。自动检测文件格式。
Document(string)从文件中打开现有文档。自动检测文件格式。
Document(Stream, LoadOptions)从流中打开现有文档。允许指定其他选项,例如加密密码。
Document(string, LoadOptions)从文件中打开现有文档。允许指定其他选项,例如加密密码。

特性

姓名描述
AttachedTemplate { get; set; }获取或设置附加到文档的模板的完整路径。
AutomaticallyUpdateStyles { get; set; }获取或设置一个标志,指示每次在 MS Word 中打开文档时是否更新文档中的样式以匹配 附加模板中的样式。
BackgroundShape { get; set; }获取或设置文档的背景形状。可无效的.
BuiltInDocumentProperties { get; }返回一个集合,表示文档的所有内置文档属性。
CompatibilityOptions { get; }提供对文档兼容性选项的访问(即在文档上输入的用户首选项)兼容性 选项卡选项Word 中的对话框).
Compliance { get; }获取根据加载的文档内容确定的 OOXML 合规版本。 仅对 OOXML 文档有意义。
Count { get; }获取此节点的直接子节点的数量。
CustomDocumentProperties { get; }返回表示文档的所有自定义文档属性的集合。
CustomNodeId { get; set; }指定自定义节点标识符。
CustomXmlParts { get; set; }获取或设置自定义 XML 数据存储部分的集合。
DefaultTabStop { get; set; }获取或设置默认制表位之间的间隔(以磅为单位)。
DigitalSignatures { get; }获取此文档的数字签名及其验证结果的集合。
override Document { get; }获取此实例。
EndnoteOptions { get; }提供控制本文档中尾注的编号和位置的选项。
FieldOptions { get; }获得FieldOptions表示控制文档中字段处理的选项的对象。
FirstChild { get; }获取节点的第一个子节点。
FirstSection { get; }获取文档中的第一部分。
FontInfos { get; }提供对本文档中使用的字体属性的访问。
FontSettings { get; set; }获取或设置文档字体设置。
FootnoteOptions { get; }提供控制本文档中脚注的编号和位置的选项。
Frameset { get; }返回一个Frameset实例,如果该文档代表一个框架页面。
GlossaryDocument { get; set; }获取或设置此文档或模板中的术语表文档。词汇表文档是文档中定义的自动图文集、自动更正和构建块条目的存储 。
GrammarChecked { get; set; }返回真的如果文档已经过语法检查。
HasChildNodes { get; }返回真的如果该节点有任何子节点.
HasMacros { get; }返回真的如果文档有 VBA 项目(宏).
HasRevisions { get; }返回真的文档是否有任何跟踪更改。
HyphenationOptions { get; }提供对文档连字符选项的访问。
IncludeTextboxesFootnotesEndnotesInStat { get; set; }指定字数统计中是否包括文本框、脚注和尾注。
override IsComposite { get; }返回真的因为该节点可以有子节点。
JustificationMode { get; set; }获取或设置文档的字符间距调整。
LastChild { get; }获取节点的最后一个子节点。
LastSection { get; }获取文档中的最后一部分。
LayoutOptions { get; }获得LayoutOptions表示控制此文档布局过程的选项的对象。
Lists { get; }提供对文档中使用的列表格式的访问。
MailMerge { get; }返回一个MailMerge代表文档邮件合并功能的对象。
MailMergeSettings { get; set; }获取或设置包含文档的所有邮件合并信息的对象。
NextSibling { get; }获取紧随该节点的下一个节点。
NodeChangingCallback { get; set; }在文档中插入或删除节点时调用。
override NodeType { get; }返回Document.
OriginalFileName { get; }获取文档的原始文件名。
OriginalLoadFormat { get; }获取加载到此对象中的原始文档的格式。
PackageCustomParts { get; set; }获取或设置使用“未知关系”链接到 OOXML 包的自定义部分(任意内容)的集合。
PageColor { get; set; }获取或设置文档的页面颜色。这个属性是一个更简单的版本BackgroundShape.
PageCount { get; }获取通过最近的页面布局操作计算得出的文档中的页数。
ParentNode { get; }获取此节点的直接父节点。
PreviousSibling { get; }获取紧邻此节点之前的节点。
ProtectionType { get; }获取当前活动的文档保护类型。
Range { get; }返回一个Range表示此节点中包含的文档部分的对象。
RemovePersonalInformation { get; set; }获取或设置一个标志,指示 Microsoft Word 在保存文档时将从注释、修订和 文档属性中删除所有用户信息。
ResourceLoadingCallback { get; set; }允许控制如何加载外部资源。
Revisions { get; }获取此文档中存在的修订(跟踪更改)的集合。
RevisionsView { get; set; }获取或设置一个值,该值指示是否使用文档的原始版本或修订版本。
Sections { get; }返回表示文档中所有部分的集合。
ShadeFormData { get; set; }指定是否打开表单字段上的灰色底纹。
ShowGrammaticalErrors { get; set; }指定是否显示本文档中的语法错误。
ShowSpellingErrors { get; set; }指定是否显示本文档中的拼写错误。
SpellingChecked { get; set; }返回真的如果文档已经过拼写检查。
Styles { get; }返回文档中定义的样式集合。
Theme { get; }获取Theme本文档的对象.
TrackRevisions { get; set; }如果在 Microsoft Word 中编辑此文档时跟踪更改,则为 True。
Variables { get; }返回添加到文档或模板的变量集合。
VbaProject { get; set; }获取或设置VbaProject.
VersionsCount { get; }获取 DOC 文档中存储的文档版本数。
ViewOptions { get; }提供控制文档在 Microsoft Word 中显示方式的选项。
WarningCallback { get; set; }在检测到可能导致 数据或格式保真度损失的问题时在各种文档处理过程中调用。
Watermark { get; }提供对文档水印的访问。
WebExtensionTaskPanes { get; }返回表示任务窗格加载项列表的集合。
WriteProtection { get; }提供对文档写保护选项的访问。

方法

姓名描述
override Accept(DocumentVisitor)接受访客。
AcceptAllRevisions()接受文档中所有跟踪的更改。
AppendChild(Node)将指定节点添加到该节点的子节点列表的末尾。
AppendDocument(Document, ImportFormatMode)将指定文档追加到该文档的末尾。
AppendDocument(Document, ImportFormatModeImportFormatOptions)将指定文档追加到该文档的末尾。
Cleanup()从文档中清除未使用的样式和列表。
Cleanup(CleanupOptions)根据给定的条件从文档中清除未使用的样式和列表CleanupOptions.
Clone()执行深度复制Document.
Clone(bool)创建节点的副本。
Compare(Document, string, DateTime)将此文档与另一个文档进行比较,产生编辑和格式修订次数等更改Revision.
Compare(Document, string, DateTime, CompareOptions)将此文档与另一个文档进行比较,产生一些编辑和格式修订的更改Revision. 允许使用指定比较选项CompareOptions.
CopyStylesFromTemplate(Document)将样式从指定模板复制到文档。
CopyStylesFromTemplate(string)将样式从指定模板复制到文档。
CreateNavigator()创建可用于遍历和读取节点的导航器。
EnsureMinimum()如果文档不包含任何节,则创建一个包含一个段落的节。
ExpandTableStylesToDirectFormatting()将表格样式中指定的格式转换为文档中表格的直接格式。
ExtractPages(int, int)返回Document代表指定页面范围的对象。
GetAncestor(NodeType)获取指定的第一个祖先NodeType.
GetAncestor(Type)获取指定对象类型的第一个祖先。
GetChild(NodeType, int, bool)返回与指定类型匹配的第 N 个子节点。
GetChildNodes(NodeType, bool)返回与指定类型匹配的子节点的实时集合。
GetEnumerator()为该节点的子节点上的每个样式迭代提供支持。
GetPageInfo(int)获取可能对打印或渲染有用的页面大小、方向和其他信息。
override GetText()获取此节点及其所有子节点的文本。
ImportNode(Node, bool)将节点从另一个文档导入到当前文档。
ImportNode(Node, bool, ImportFormatMode)将节点从另一个文档导入到当前文档,并提供控制格式的选项。
IndexOf(Node)返回子节点数组中指定子节点的索引。
InsertAfter(NodeNode)在指定的引用节点之后立即插入指定的节点。
InsertBefore(NodeNode)在指定的引用节点之前插入指定的节点。
JoinRunsWithSameFormatting()在文档的所有段落中以相同的格式连接运行。
NextPreOrder(Node)根据先序树遍历算法获取下一个节点。
NormalizeFieldTypes()更改字段类型值FieldTypeFieldStart,FieldSeparator,FieldEnd 在整个文档中,以便它们对应于字段代码中包含的字段类型。
PrependChild(Node)将指定节点添加到该节点的子节点列表的开头。
PreviousPreOrder(Node)根据先序树遍历算法获取前一个节点。
Print()将整个文档打印到默认打印机。
Print(PrinterSettings)根据指定的打印机设置打印文档, 使用标准(无用户界面)打印控制器。
Print(string)使用标准(无用户界面)打印控制器将整个文档打印到指定打印机。
Print(PrinterSettings, string)根据指定的打印机设置打印文档, 使用标准(无用户界面)打印控制器和文档名称。
Protect(ProtectionType)保护文档免遭更改,而不更改现有密码或分配随机密码。
Protect(ProtectionType, string)保护文档免遭更改,并可选择设置保护密码。
Remove()将自身从父级中删除。
RemoveAllChildren()删除当前节点的所有子节点。
RemoveChild(Node)删除指定的子节点。
RemoveExternalSchemaReferences()从此文档中删除外部 XML 架构引用。
RemoveMacros()从文档中删除所有宏(VBA 项目)以及工具栏和命令自定义。
RemoveSmartTags()删除所有SmartTag当前节点的后代节点.
RenderToScale(int, Graphics, float, float, float)将文档页面呈现为Graphics指定比例的对象。
RenderToSize(int, Graphics, float, float, float, float)将文档页面呈现为Graphics指定大小的对象。
Save(string)将文档保存到文件。自动根据扩展名确定保存格式。
Save(Stream, SaveFormat)使用指定格式将文档保存到流。
Save(Stream, SaveOptions)使用指定的保存选项将文档保存到流。
Save(string, SaveFormat)将文档保存到指定格式的文件中。
Save(string, SaveOptions)使用指定的保存选项将文档保存到文件。
Save(HttpResponse, string, ContentDispositionSaveOptions)将文档发送到客户端浏览器。
SelectNodes(string)选择与 XPath 表达式匹配的节点列表。
SelectSingleNode(string)选择第一个Node与 XPath 表达式匹配。
StartTrackRevisions(string)开始自动将您以编程方式对文档所做的所有进一步更改标记为修订更改。
StartTrackRevisions(string, DateTime)开始自动将您以编程方式对文档所做的所有进一步更改标记为修订更改。
StopTrackRevisions()停止将文档更改自动标记为修订版。
ToString(SaveFormat)将节点的内容导出为指定格式的字符串。
ToString(SaveOptions)使用指定的保存选项将节点的内容导出到字符串中。
UnlinkFields()取消链接整个文档中的字段。
Unprotect()无论密码如何,都会删除文档的保护。
Unprotect(string)如果指定了正确的密码,则删除文档的保护。
UpdateFields()更新整个文档中的字段值。
UpdateListLabels()更新文档中所有列表项的列表标签。
UpdatePageLayout()重建文档的页面布局。
UpdateThumbnail()更新Thumbnail使用默认选项的文档。
UpdateThumbnail(ThumbnailGeneratingOptions)更新Thumbnail根据指定选项的文档。
UpdateWordCount()更新文档的字数统计属性。
UpdateWordCount(bool)更新文档的字数统计属性,可选择更新Lines属性.

评论

Document是 Aspose.Words 库中的核心对象。

要加载任何现有文档LoadFormat格式,将文件名 或流传递到其中之一Document构造函数。要创建空白文档,请调用不带参数的 构造函数。

使用 Save 方法重载之一将文档保存在任何 the 中SaveFormat格式。

将文档页面直接绘制到图形对象 use RenderToScale或者RenderToSize方法。

要打印文档,请使用其中之一Print方法。

MailMerge是 Aspose.Words 的报告引擎,允许快速轻松地使用来自各种数据源的数据填充在 Microsoft Word 中设计的 报告。 数据可以来自 DataSet、DataTable、DataView、IDataReader 或值数组。 邮件合并将遍历数据源中找到的记录,并根据需要将它们插入到文档中的 邮件合并字段中。

Document存储文档范围的信息,例如Styles, BuiltInDocumentProperties,CustomDocumentProperties、列表和宏。 这些对象中的大多数都可以通过Document

Document是包含文档所有其他节点的树的根节点。 该树是复合设计模式,在许多方面类似于 XmlDocument。 可以通过编程方式自由操作文档的内容:

考虑使用DocumentBuilder这简化了以编程方式创建 或填充文档树的任务。

Document只能包含Section对象。

在 Microsoft Word 中,一份有效的文档需要至少有一个部分。

例子

演示如何使用数据表中的数据执行邮件合并。

public void ExecuteDataTable()
{
    DataTable table = new DataTable("Test");
    table.Columns.Add("CustomerName");
    table.Columns.Add("Address");
    table.Rows.Add(new object[] { "Thomas Hardy", "120 Hanover Sq., London" });
    table.Rows.Add(new object[] { "Paolo Accorti", "Via Monte Bianco 34, Torino" });

    // 下面是使用 DataTable 作为邮件合并数据源的两种方法。
    // 1 - 使用整个表进行邮件合并,为表中的每一行创建一个输出邮件合并文档:
    Document doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.WholeTable.docx");

    // 2 - 使用表的一行创建一个输出邮件合并文档:
    doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table.Rows[1]);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.OneRow.docx");
}

/// <summary>
/// 创建邮件合并源文档。
/// </summary>
private static Document CreateSourceDocExecuteDataTable()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.InsertField(" MERGEFIELD CustomerName ");
    builder.InsertParagraph();
    builder.InsertField(" MERGEFIELD Address ");

    return doc;
}

也可以看看