Niveaux logiques des nœuds dans un document
Cette documentation fait parfois référence à un groupe de classes de nœuds comme appartenant à un “niveau” dans un document, tel que des nœuds de “niveau bloc”, de “niveau en ligne” (également appelés “en ligne”) ou de “niveau ligne”. Ces niveaux dans un document sont différenciés de manière purement logique et ne sont pas explicitement exprimés par héritage ou d’autres moyens Aspose.Words DOM. Le niveau du nœud est utilisé pour décrire l’endroit dans l’arborescence du document où le nœud se produirait généralement.
Dans l’article précédent, nous avons déjà parlé de la relation entre les nœuds et du fait que tous les nœuds ne sont pas autorisés à être des enfants de nœuds. Par exemple, Cell ne peut être qu’un enfant de ligne, et une Ligne ne peut être qu’un enfant de table, et ainsi de suite. Ces relations sont également applicables pour la division logique des nœuds en niveaux dans le document.
Les sections suivantes décrivent les niveaux logiques des nœuds dans Aspose.Words et les classes qui appartiennent à chaque niveau.
Niveau logique du Document et de la Section
Un document Word se compose d’une ou plusieurs sections, représentées par la classe Section et séparées par des sauts de section. Une section peut définir sa propre taille de page, ses marges, son orientation, le nombre de colonnes de texte et ses en-têtes et pieds de page.
Document et Rubrique les nœuds de niveau ont la structure illustrée dans le diagramme suivant.
Une section contient le texte principal, ainsi que des en-têtes et des pieds de page pour les premières pages paires et impaires. Ces différents “flux” de texte sont appelés stories.
Dans Aspose.Words, le nœud Section contient les nœuds d’histoire Body et HeaderFooter. L’objet Body stocke le texte principal. Les objets HeaderFooter stockent le texte de chaque en-tête et pied de page. Le texte de toute histoire se compose de paragraphes et de tableaux, respectivement représentés par les objets Paragraph et Table du niveau Bloc.
De plus, chaque document Word peut contenir un glossaire, qui est représenté par le nœud GlossaryDocument dans Aspose.Words. Un document glossaire contient des entrées BuildingBlocks, AutoText et AutoCorrect.
GlossaryDocument
Niveau Logique de Bloc
Les nœuds de niveau bloc représentent des conteneurs pour le contenu et les contrôles de contenu, et peuvent apparaître dans les nœuds enfants de l’arborescence de documents dans les nœuds suivants:
- Corps
- En-tête
- Pied de Page
- Note de Bas de Page
- Commentaire
- Forme
- GroupShape
- Cellule
- StructuredDocumentTag
Les nœuds de niveau bloc sont représentés par les classes suivantes:
- Tables et Paragraphs, qui sont les nœuds les plus importants au niveau du bloc
- Les signets, qui se produisent à la fois au niveau du bloc et au niveau en ligne
- StructuredDocumentTag, qui représentent un balisage personnalisé et peuvent contenir à la fois du contenu et des contrôles de contenu
Le diagramme suivant montre les éléments au niveau du bloc.
Niveau Logique en Ligne
Les nœuds de niveau en ligne représentent le contenu réel du document et peuvent être contenus dans les conteneurs suivants:
- Paragraphe-le conteneur le plus courant
- SmartTag
- StructuredDocumentTag
Les éléments de niveau en ligne sont représentés par les classes suivantes:
- Run - suites de texte formatées différemment
- BookmarkStart et BookmarkEnd représentent des signets
- CommentRangeStart, CommentRangeEnd, Comment et Footnote représentent des annotations
- FieldStart, FieldChar, FieldSeparator et FieldEnd qui représentent des caractères de champ, et FormField représentent des champs de mots
- SpecialChar représente les caractères spéciaux dans le document
- Shape et GroupShape représentent des formes, des dessins, des images, etc.
- SmartTag et StructuredDocumentTag représentent un balisage personnalisé
Le diagramme suivant montre la structure des nœuds de niveau en ligne.
Les formes dans Microsoft Word incluent Office Art AutoShapes, des zones de texte, des images, des objets OLE et des contrôles ActiveX, qui sont tous représentés à l’aide de la classe Shape
. Certaines formes peuvent également contenir du texte, de sorte que les nœuds de forme dans Aspose.Words peuvent contenir des nœuds de niveau bloc.
Les formes peuvent être regroupées les unes à l’intérieur des autres à l’aide de nœuds GroupShape.
Niveau des nœuds de Table, de ligne et de cellule
Le tableau se compose de nœuds de lignes et de cellules. Les éléments de tableau sont représentés par les classes suivantes:
- Row représente une ligne de tableau
- Cell représente une cellule de tableau
- StructuredDocumentTag représente un balisage personnalisé
Le diagramme suivant montre les structures des nœuds des niveaux Table, Ligne et cellule.