Nivelurile logice ale nodurilor dintr-un Document
Această documentație se referă uneori la un grup de clase de noduri ca aparținând unui “nivel” dintr-un document, cum ar fi nodurile “la nivel de bloc”, “la nivel de linie” (cunoscute și sub numele de “inline”) sau “la nivel de rând”. Aceste niveluri dintr-un document sunt diferențiate pur logic și nu sunt exprimate în mod explicit prin moștenire sau prin alte mijloace Aspose.Words DOM. Nivelul nodului este folosit pentru a descrie locul din arborele documentului unde ar apărea de obicei nodul.
În articolul precedent, am vorbit deja despre relația dintre noduri și faptul că nu toate nodurile au voie să fie un copil al oricăror noduri. De exemplu, Cell poate fi doar un copil Row, iar un Row poate fi doar un copil Table și așa mai departe. Aceste relații sunt aplicabile și pentru împărțirea logică a nodurilor în niveluri din document.
Următoarele secțiuni descriu nivelurile logice ale nodurilor din Aspose.Words și clasele care aparțin fiecărui nivel.
Nivel logic de documente și secțiuni
Un document Word este format din una sau mai multe secțiuni, reprezentate de clasa Section și separate prin pauze de secțiune. O secțiune poate defini propria dimensiune a paginii, marginile, orientarea, numărul de coloane de text și anteturile și subsolurile.
Nodurile de nivel Document și Section au structura așa cum se arată în diagrama următoare.
O secțiune conține textul principal, precum și anteturile și subsolurile pentru prima, par și impar pagini. Aceste “fluxuri” diferite de text sunt numite stories.
În Aspose.Words, nodul Section conține nodurile de poveste Body și HeaderFooter. Obiectul Body stochează textul principal. Obiectele HeaderFooter stochează textul pentru fiecare antet și subsol. Textul oricărei povești constă din paragrafe și tabele, reprezentate respectiv de obiectele Paragraph și Table ale nivelului de bloc.
În plus, fiecare document Word poate conține un glosar, care este reprezentat de nodul GlossaryDocument din Aspose.Words. Un document glosar conține intrări building_blocks BuildingBlockType.AUTO_TEXT și BuildingBlockType.AUTO_CORRECT.
GlossaryDocument include BuildingBlock noduri reprezentând diferite tipuri de intrări de documente din glosar. Fiecare BuildingBlock conține secțiuni care pot fi inserate, eliminate și copiate în documente.
Nivel Logic Bloc
Nodurile la nivel de bloc reprezintă containere pentru conținut și controale de conținut și pot apărea în nodurile copil din arborele de documente din următoarele noduri:
Nodurile la nivel de bloc sunt reprezentate de următoarele clase:
- Tables și Paragraphs, care sunt cele mai importante noduri la nivel de bloc
- Bookmarks, care apare atât la nivel de bloc, cât și la nivel de linie
- StructuredDocumentTag, care reprezintă marcaj personalizat și poate conține atât conținut, cât și controale de conținut
Următoarea diagramă prezintă elemente la nivel de bloc.
Nivel Logic În Linie
Nodurile la nivel de linie reprezintă conținutul real al documentului și pot fi conținute în următoarele containere:
- Paragraph - cel mai comun container
- SmartTag
- StructuredDocumentTag
Elementele la nivel de linie sunt reprezentate de următoarele clase:
- Run - rulează text formatat diferit
- BookmarkStart și BookmarkEnd reprezintă marcaje
- CommentRangeStart, CommentRangeEnd, Comment și Footnote reprezintă adnotări
- FieldStart, FieldChar, FieldSeparator și FieldEnd care reprezintă caractere de câmp și FormField reprezintă câmpuri de cuvinte
- SpecialChar reprezintă caractere speciale în document
- Shape și GroupShape reprezintă forme, desene, imagini etc.
- SmartTag și StructuredDocumentTag reprezintă marcaj personalizat
Următoarea diagramă prezintă structura nodurilor la nivel de linie.
Formele din Microsoft Word includ Office Art AutoShapes, casete de text, imagini, obiecte OLE și controale ActiveX, toate fiind reprezentate folosind clasa Shape
. Unele forme pot conține și text, astfel încât nodurile de formă din Aspose.Words pot conține noduri la nivel de bloc.
Formele pot fi grupate una în interiorul celeilalte folosind noduri GroupShape.
Tabel, rând și Nivel de nod celular
Tabelul este format din noduri de rânduri și celule. Table elementele sunt reprezentate de următoarele clase:
- Row reprezintă un rând de tabel
- Cell reprezintă o celulă de tabel
- StructuredDocumentTag reprezintă marcaj personalizat
Următoarea diagramă prezintă structurile nodurilor nivelurilor Table, Row și Cell.