Logische Ebenen von Knoten in einem Dokument
Diese Dokumentation bezieht sich manchmal auf eine Gruppe von Knotenklassen, die zu einer “Ebene” in einem Dokument gehören, z. B. “Blockebene”, “Inline-Ebene” (auch als “inline” bezeichnet) oder “Zeilenebene” Knoten. Diese Ebenen in einem Dokument werden rein logisch unterschieden und nicht explizit durch Vererbung oder andere Aspose.Words DOM Mittel ausgedrückt. Die Knotenebene wird verwendet, um die Stelle im Dokumentbaum zu beschreiben, an der der Knoten typischerweise auftreten würde.
Im vorherigen Artikel haben wir bereits über die Beziehung zwischen Knoten und die Tatsache gesprochen, dass nicht alle Knoten untergeordneten Knoten sein dürfen. Beispielsweise kann Cell nur ein untergeordnetes Zeilenelement sein, und eine Zeile kann nur ein untergeordnetes Tabellenelement sein usw. Diese Beziehungen gelten auch für die logische Unterteilung von Knoten in Ebenen im Dokument.
In den folgenden Abschnitten werden die logischen Ebenen von Knoten in Aspose.Words und die Klassen, die zu jeder Ebene gehören, beschrieben.
Logische Ebene für Dokumente und Abschnitte
Ein Word-Dokument besteht aus einem oder mehreren Abschnitten, die durch die Klasse Section dargestellt und durch Abschnittsumbrüche getrennt werden. Ein Abschnitt kann seine eigene Seitengröße, Ränder, Ausrichtung, Anzahl der Textspalten sowie Kopf- und Fußzeilen definieren.
Document und Abschnitt Ebenenknoten haben die Struktur wie im folgenden Diagramm gezeigt.
Ein Abschnitt enthält den Haupttext sowie Kopf- und Fußzeilen für die ersten, geraden und ungeraden Seiten. Diese verschiedenen “Textflüsse” werden stories genannt.
In Aspose.Words enthält der Section-Knoten die Body- und HeaderFooter-Story-Knoten. Das Body -Objekt speichert den Haupttext. Die HeaderFooter -Objekte speichern den Text für jede Kopf- und Fußzeile. Der Text einer Story besteht aus Absätzen und Tabellen, die jeweils durch die Objekte Paragraph und Table der Blockebene dargestellt werden.
Zusätzlich kann jedes Word-Dokument ein Glossar enthalten, das durch den Knoten GlossaryDocument in Aspose.Words dargestellt wird. Ein Glossardokument enthält BuildingBlocks-, AutoText- und AutoCorrect-Einträge.
GlossaryDocument
Logische Ebene blockieren
Knoten auf Blockebene stellen Container für Inhalte und Inhaltssteuerelemente dar und können in den untergeordneten Knoten der Dokumentstruktur in den folgenden Knoten vorkommen:
- Körper
- Header
- Fußzeile
- Fußnote
- Kommentar
- Form
- GroupShape
- Zelle
- StructuredDocumentTag
Knoten auf Blockebene werden durch die folgenden Klassen dargestellt:
- Tables und Paragraphs, die wichtigsten Knoten auf Blockebene
- Lesezeichen, die sowohl auf Blockebene als auch auf Inline-Ebene vorkommen
- StructuredDocumentTag, die benutzerdefiniertes Markup darstellen und sowohl Inhalts- als auch Inhaltssteuerelemente enthalten können
Das folgende Diagramm zeigt die Elemente auf Blockebene.
Logische Inline-Ebene
Knoten auf Inline-Ebene stellen den eigentlichen Inhalt des Dokuments dar und können in den folgenden Containern enthalten sein:
- Absatz - der häufigste Behälter
- SmartTag
- StructuredDocumentTag
Inline-Level-Elemente werden durch die folgenden Klassen dargestellt:
- Run - unterschiedlich formatierte Textläufe
- BookmarkStart und BookmarkEnd stellen Lesezeichen dar
- CommentRangeStart, CommentRangeEnd, Comment und Footnote stellen Anmerkungen dar
- FieldStart, FieldChar, FieldSeparator und FieldEnd, die Feldzeichen darstellen, und FormField, die Wortfelder darstellen
- SpecialChar steht für Sonderzeichen im Dokument
- Shape und GroupShape stellen Formen, Zeichnungen, Bilder usw. dar.
- SmartTag und StructuredDocumentTag stellen benutzerdefiniertes Markup dar
Das folgende Diagramm zeigt die Knotenstruktur auf Inline-Ebene.
Formen in Microsoft Word umfassen Bürografiken AutoShapes, Textfelder, Bilder, OLE-Objekte und ActiveX-Steuerelemente, die alle mit der Klasse Shape
dargestellt werden. Einige Formen können auch Text enthalten, sodass Formknoten in Aspose.Words Knoten auf Blockebene enthalten können.
Formen können mit GroupShape Knoten ineinander gruppiert werden.
Tabellen-, Zeilen- und Zellknotenebene
Die Tabelle besteht aus Knoten von Zeilen und Zellen. Tabellenelemente werden durch die folgenden Klassen dargestellt:
- Row steht für eine Tabellenzeile
- Cell steht für eine Tabellenzelle
- StructuredDocumentTag stellt benutzerdefiniertes Markup dar
Das folgende Diagramm zeigt die Knotenstrukturen der Tabellen-, Zeilen- und Zellebenen.