ドキュメント内のノードの論理レベル
このドキュメントでは、ノード クラスのグループを、「ブロック レベル」ノード、「インライン レベル」(「インライン」とも呼ばれます)、または「行レベル」ノードなど、ドキュメント内の「レベル」に属するものとして参照することがあります。 。ドキュメント内のこれらのレベルは純粋に論理的に区別され、継承や他の Aspose.Words DOM 手段によって明示的に表現されるものではありません。ノード レベルは、ノードが通常発生するドキュメント ツリー内の場所を記述するために使用されます。
前の記事では、ノード間の関係と、すべてのノードがノードの子になることが許可されているわけではないという事実についてすでに説明しました。たとえば、Cell は Row の子のみにすることができ、Row は Table の子のみにすることができます。などです。これらの関係は、ドキュメント内のノードをレベルに論理的に分割する場合にも適用できます。
次のセクションでは、Aspose.Words のノードの論理レベルと各レベルに属するクラスについて説明します。
ドキュメントとセクションの論理レベル
Word 文書は、Section クラスで表され、セクション区切りで区切られた 1 つ以上のセクションで構成されます。セクションでは、独自のページ サイズ、余白、方向、テキスト列の数、ヘッダーとフッターを定義できます。
Document および Section レベルのノードは、次の図に示すような構造になっています。
セクションにはメイン テキストのほか、最初、偶数、奇数ページのヘッダーとフッターが含まれます。これらのテキストのさまざまな「フロー」は stories と呼ばれます。
Aspose.Words では、Section ノードには Body および HeaderFooter ストーリー ノードが含まれます。 Body オブジェクトにはメイン テキストが格納されます。 HeaderFooter オブジェクトには、各ヘッダーとフッターのテキストが保存されます。ストーリーのテキストは段落と表で構成され、それぞれブロック レベルの 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、および Word フィールドを表す FormField
- SpecialChar は文書内の特殊文字を表します
- Shape と GroupShape は、形状、図面、画像などを表します。
- SmartTag と StructuredDocumentTag はカスタム マークアップを表します
次の図は、インライン レベルのノード構造を示しています。
Microsoft Word の図形には、Office Art オートシェイプ、テキスト ボックス、画像、OLE オブジェクト、ActiveX コントロールが含まれており、これらはすべて Shape
クラスを使用して表現されます。一部のシェイプにはテキストを含めることもできるため、Aspose.Words のシェイプ ノードにはブロック レベルのノードを含めることができます。
GroupShape ノードを使用して、シェイプを相互にグループ化できます。
テーブル、行、セルのノードレベル
テーブルは行とセルのノードで構成されます。 Table 要素は次のクラスで表されます。
- Row はテーブルの行を表します
- Cell は表のセルを表します
- StructuredDocumentTag はカスタム マークアップを表します