文档中节点的逻辑级别
本文档有时将一组节点类称为属于文档中的"级别",例如"块级"、“内联级”(也称为"内联")或"行级"节点。文档中的这些级别纯粹是逻辑上区分的,并没有通过继承或其他 Aspose.Words DOM 方式明确表达。节点级别用于描述文档树中节点通常出现的位置。
在上一篇文章中,我们已经讨论了节点之间的关系以及并非所有节点都允许成为任何节点的子节点这一事实。例如,Cell 只能是 Row 子项,Row 只能是 Table 子项,等等。这些关系也适用于将节点逻辑划分为文档中的级别。
以下部分描述了 Aspose.Words 中节点的逻辑级别以及属于每个级别的类。
文档和部分逻辑级别
Word 文档由一个或多个部分组成,由 Section 类表示并由分节符分隔。节可以定义自己的页面大小、边距、方向、文本列数以及页眉和页脚。
Document 和 Section 级别节点的结构如下图所示。
节包含正文以及第一页、偶数页和奇数页的页眉和页脚。这些不同的文本"流"称为 stories。
在 Aspose.Words 中,Section 节点包含 Body 和 HeaderFooter 故事节点。 Body 对象存储主要文本。 HeaderFooter 对象存储每个页眉和页脚的文本。任何故事的文本都由段落和表格组成,分别由Block-level的Paragraph和Table对象表示。
此外,每个Word文档可以包含一个术语表,由Aspose.Words中的GlossaryDocument节点表示。词汇表文档包含 building_blocks BuildingBlockType.AUTO_TEXT 和 BuildingBlockType.AUTO_CORRECT 条目。
GlossaryDocument 包括代表不同类型的术语表文档条目的 BuildingBlock 节点。每个 BuildingBlock 都包含可以插入、删除和复制到文档中的部分。
块逻辑层
块级节点表示内容和内容控件的容器,并且可以出现在文档树子节点中的以下节点中:
块级节点由以下类表示:
- Tables和Paragraphs,这是最重要的区块级节点
- Bookmarks,发生在块级和内联级
- StructuredDocumentTag,代表自定义标记,可以包含内容和内容控件
下图显示了块级元素。
内联逻辑级别
内联级节点表示文档的实际内容,可以包含在以下容器中:
- Paragraph – 最常见的容器
- SmartTag
- StructuredDocumentTag
内联级元素由以下类表示:
- Run – 不同格式的文本运行
- BookmarkStart和BookmarkEnd代表书签
- CommentRangeStart、CommentRangeEnd、Comment 和 Footnote 表示注释
- FieldStart、FieldChar、FieldSeparator 和 FieldEnd 表示字段字符,FormField 表示 Word 字段
- SpecialChar 表示文档中的特殊字符
- Shape 和 GroupShape 表示形状、图画、图像等。
- SmartTag 和 StructuredDocumentTag 代表自定义标记
下图显示了内联级节点结构。
Microsoft Word 中的形状包括 Office Art 自选图形、文本框、图像、OLE 对象和 ActiveX 控件,所有这些都使用 Shape
类表示。某些形状还可以包含文本,因此 Aspose.Words 中的形状节点可以包含块级节点。
可以使用 GroupShape 节点将形状彼此分组。
表、行和单元格节点级别
该表由行和单元格的节点组成。 Table 元素由以下类表示:
- Row 代表表格行
- Cell 代表表格单元格
- StructuredDocumentTag 代表自定义标记