Livelli logici dei nodi in un documento
Questa documentazione a volte fa riferimento a un gruppo di classi di nodi come appartenenti a un “livello” in un documento, come i nodi “a livello di blocco”, “a livello in linea” (noto anche come “in linea”) o “a livello di riga”. Questi livelli in un documento sono differenziati in modo puramente logico e non sono espressi esplicitamente tramite ereditarietà o altri mezzi Aspose.Words DOM. Il livello del nodo viene utilizzato per descrivere la posizione nell’albero del documento in cui normalmente si trova il nodo.
Nell’articolo precedente abbiamo già parlato della relazione tra i nodi e del fatto che non tutti i nodi possono essere figli di qualche nodo. Ad esempio, Cell può essere solo un figlio Row e Row può essere solo un figlio Table e così via. Queste relazioni sono applicabili anche per la divisione logica dei nodi in livelli nel documento.
Le sezioni seguenti descrivono i livelli logici dei nodi in Aspose.Words e le classi che appartengono a ciascun livello.
Livello logico del documento e della sezione
Un documento Word è costituito da una o più sezioni, rappresentate dalla classe Section e separate da interruzioni di sezione. Una sezione può definire le proprie dimensioni di pagina, margini, orientamento, numero di colonne di testo, intestazioni e piè di pagina.
I nodi di livello Document e Section hanno la struttura come mostrato nello schema seguente.
Una sezione contiene il testo principale, nonché intestazioni e piè di pagina per le prime pagine, pari e dispari. Questi diversi “flussi” di testo sono chiamati stories.
In Aspose.Words, il nodo Section contiene i nodi della storia Body e HeaderFooter. L’oggetto Body memorizza il testo principale. Gli oggetti HeaderFooter memorizzano il testo per ciascuna intestazione e piè di pagina. Il testo di qualsiasi storia è costituito da paragrafi e tabelle, rispettivamente rappresentati dagli oggetti Paragraph e Table del Block-level.
Inoltre, ogni documento Word può contenere un glossario, rappresentato dal nodo GlossaryDocument in Aspose.Words. Un documento di glossario contiene voci BuildingBlocks, AutoText e AutoCorrect.
GlossaryDocument include nodi BuildingBlock che rappresentano diversi tipi di voci di documenti di glossario. Ogni BuildingBlock contiene sezioni che possono essere inserite, rimosse e copiate nei documenti.
Blocca il livello logico
I nodi a livello di blocco rappresentano contenitori per contenuto e controlli del contenuto e possono verificarsi nei nodi secondari dell’albero del documento nei seguenti nodi:
- Corpo
- Intestazione
- Piè di pagina
- Nota a piè di pagina
- Commenta
- Forma
- GroupForma
- Cellula -Tag documento strutturato
I nodi a livello di blocco sono rappresentati dalle seguenti classi:
- Tables e Paragraphs, che sono i nodi a livello di blocco più importanti
- Segnalibri, che si verificano sia a livello di blocco che a livello in linea
- StructuredDocumentTag, che rappresenta markup personalizzato e può contenere sia contenuto che controlli del contenuto
Il diagramma seguente mostra gli elementi a livello di blocco.
Livello logico in linea
I nodi a livello in linea rappresentano il contenuto effettivo del documento e possono essere contenuti nei seguenti contenitori:
- Paragrafo – il contenitore più comune
- SmartTag -Tag documento strutturato
Gli elementi a livello inline sono rappresentati dalle seguenti classi:
- Run – sequenze di testo formattate diversamente
- BookmarkStart e BookmarkEnd rappresentano i segnalibri
- CommentRangeStart, CommentRangeEnd, Comment e Footnote rappresentano le annotazioni
- FieldStart, FieldChar, FieldSeparator e FieldEnd che rappresentano i caratteri del campo e FormField rappresentano i campi di Word
- SpecialChar rappresenta caratteri speciali nel documento
- Shape e GroupShape rappresentano forme, disegni, immagini, ecc.
- SmartTag e StructuredDocumentTag rappresentano markup personalizzato
Il diagramma seguente mostra la struttura dei nodi a livello inline.
Le forme in Microsoft Word includono forme di Office Art AutoShapes, caselle di testo, immagini, oggetti OLE e controlli ActiveX, tutti rappresentati utilizzando la classe Shape
. Alcune forme possono contenere anche testo, quindi i nodi Forma in Aspose.Words possono contenere nodi a livello di blocco.
Le forme possono essere raggruppate l’una nell’altra utilizzando i nodi GroupShape.
Livello di tabella, riga e nodo cella
La tabella è composta da nodi di righe e celle. Gli elementi della tabella sono rappresentati dalle seguenti classi:
- Row rappresenta una riga della tabella
- Cell rappresenta una cella di tabella
- StructuredDocumentTag rappresenta il markup personalizzato
Il diagramma seguente mostra le strutture dei nodi dei livelli Tabella, Riga e Cella.