Poziomy logiczne węzłów w dokumencie
W tej dokumentacji czasami odnosi się do grupy klas węzłów jako należących do “poziomu” w dokumencie, na przykład węzły “na poziomie bloku”, “na poziomie wbudowanym” (znane również jako “wbudowane”) lub węzły “na poziomie wiersza”. Te poziomy w dokumencie są zróżnicowane czysto logicznie i nie są wyraźnie wyrażone poprzez dziedziczenie lub inne środki Aspose.Words DOM. Poziom węzła służy do opisania miejsca w drzewie dokumentu, w którym zazwyczaj występuje węzeł.
W poprzednim artykule mówiliśmy już o relacji między węzłami i fakcie, że nie wszystkie węzły mogą być dziećmi dowolnego węzła. Na przykład Cell może być tylko elementem podrzędnym Row, a Row może być tylko elementem podrzędnym Table i tak dalej. Zależności te mają również zastosowanie do logicznego podziału węzłów na poziomy w dokumencie.
W poniższych sekcjach opisano poziomy logiczne węzłów w Aspose.Words i klasy należące do każdego poziomu.
Poziom logiczny dokumentu i sekcji
Dokument programu Word składa się z jednej lub większej liczby sekcji reprezentowanych przez klasę Section i oddzielonych podziałami sekcji. Sekcja może definiować własny rozmiar strony, marginesy, orientację, liczbę kolumn tekstu oraz nagłówki i stopki.
Węzły poziomu Document i Section mają strukturę przedstawioną na poniższym schemacie.
Sekcja zawiera tekst główny oraz nagłówki i stopki pierwszej, parzystej i nieparzystej strony. Te różne “przepływy” tekstu nazywane są stories.
W Aspose.Words węzeł Section zawiera węzły historii Body i HeaderFooter. Obiekt Body przechowuje tekst główny. Obiekty HeaderFooter przechowują tekst każdego nagłówka i stopki. Tekst dowolnej historii składa się z akapitów i tabel, odpowiednio reprezentowanych przez obiekty Paragraph i Table na poziomie bloku.
Dodatkowo każdy dokument programu Word może zawierać glosariusz reprezentowany przez węzeł GlossaryDocument w formacie Aspose.Words. Dokument glosariusza zawiera wpisy w formatach building_blocks BuildingBlockType.AUTO_TEXT i BuildingBlockType.AUTO_CORRECT.
GlossaryDocument zawiera węzły BuildingBlock reprezentujące różne typy wpisów w dokumentach glosariusza. Każdy BuildingBlock zawiera sekcje, które można wstawiać, usuwać i kopiować do dokumentów.
Blokowy poziom logiczny
Węzły na poziomie bloków reprezentują kontenery dla treści i kontroli treści i mogą występować w węzłach podrzędnych drzewa dokumentu w następujących węzłach:
Węzły na poziomie bloków są reprezentowane przez następujące klasy:
- Tables i Paragraphs, które są najważniejszymi węzłami na poziomie bloków
- Bookmarks, który występuje zarówno na poziomie bloku, jak i na poziomie wbudowanym
- StructuredDocumentTag, który reprezentuje znaczniki niestandardowe i może zawierać zarówno treść, jak i elementy sterujące zawartością
Poniższy diagram przedstawia elementy na poziomie bloków.
Wbudowany poziom logiczny
Węzły wbudowane reprezentują rzeczywistą treść dokumentu i mogą być zawarte w następujących kontenerach:
- Paragraph – najpopularniejszy kontener
- SmartTag
- StructuredDocumentTag
Elementy inline są reprezentowane przez następujące klasy:
- Run – ciągi tekstu sformatowane inaczej
- BookmarkStart i BookmarkEnd reprezentują zakładki
- CommentRangeStart, CommentRangeEnd, Comment i Footnote reprezentują adnotacje
- FieldStart, FieldChar, FieldSeparator i FieldEnd reprezentujące znaki pól, a FormField reprezentują pola Worda
- SpecialChar reprezentuje znaki specjalne w dokumencie
- Shape i GroupShape reprezentują kształty, rysunki, obrazy itp.
- SmartTag i StructuredDocumentTag reprezentują znaczniki niestandardowe
Poniższy diagram przedstawia strukturę węzłów na poziomie wbudowanym.
Kształty w formacie Microsoft Word obejmują Autokształty grafiki pakietu Office, pola tekstowe, obrazy, obiekty OLE i kontrolki ActiveX, z których wszystkie są reprezentowane przy użyciu klasy Shape
. Niektóre kształty mogą również zawierać tekst, więc węzły kształtu w formacie Aspose.Words mogą zawierać węzły na poziomie bloków.
Kształty można grupować wewnątrz siebie za pomocą węzłów GroupShape.
Poziom węzła tabeli, wiersza i komórki
Tabela składa się z węzłów wierszy i komórek. Elementy Table są reprezentowane przez następujące klasy:
- Row reprezentuje wiersz tabeli
- Cell reprezentuje komórkę tabeli
- StructuredDocumentTag reprezentuje znaczniki niestandardowe
Poniższy diagram przedstawia struktury węzłów poziomów Table, Row i Cell.