Panoramica del generatore di documenti
DocumentBuilder è una potente classe che si associa a Document e ti consente di creare documenti dinamici da zero o aggiungere nuovi elementi a uno esistente.
DocumentBuilder fornisce metodi per inserire testo, caselle di controllo, oggetti oleosi, paragrafi, elenchi, tabelle, immagini e altri elementi di contenuto. Ti consente di specificare i caratteri, la formattazione di paragrafi o sezioni ed eseguire altre operazioni.
Generatore di documenti o Aspose.Words DOM
DocumentBuilder integra classi e metodi disponibili in Aspose.Words Document Object Model (DOM) per semplificare le attività di creazione di documenti più comuni. È cioè possibile creare e modificare il contenuto dei documenti sia tramite Aspose.Words DOM, che richiede una buona conoscenza della struttura ad albero, sia utilizzando DocumentBuilder. Il DocumentBuilder
è una “facciata” per la complessa struttura Document che consente di inserire velocemente e facilmente contenuti e formattazioni.
Le operazioni possibili con DocumentBuilder sono possibili anche utilizzando direttamente le classi del Aspose.Words DOM. Tuttavia, l’utilizzo diretto delle classi Aspose.Words DOM richiede in genere più righe di codice rispetto all’utilizzo di DocumentBuilder.
Navigazione del documento
La navigazione del documento si basa sul concetto di un cursore virtuale, con il quale è possibile spostarsi in un’altra posizione nel documento utilizzando vari metodi DocumentBuilder.MoveToXXX come MoveToDocumentStart e MoveToField. Questo cursore virtuale indica dove verrà inserito il testo quando si chiamano i metodi Write, Writeln, InsertBreak e altri. Vedere il seguente articolo “Navigazione con il cursore” per saperne di più sul cursore virtuale.
L’esempio di codice seguente mostra come accedere a un segnalibro:
Creazione e modifica di documenti
Aspose.Words API fornisce diverse classi responsabili della formattazione di vari elementi di un documento. Ciascuna classe incapsula proprietà di formattazione relative a uno specifico elemento del documento, come testo, paragrafo, sezione e altri. Ad esempio, la classe Font rappresenta le proprietà di formattazione dei caratteri, la classe ParagraphFormat rappresenta le proprietà di formattazione dei paragrafi e così via. Gli oggetti di queste classi vengono restituiti dalle proprietà DocumentBuilder corrispondenti, che hanno gli stessi nomi delle classi. Pertanto, puoi accedervi e impostare la formattazione desiderata durante la creazione del documento.
Puoi anche inserire testo, caselle di controllo, oggetti OLE, immagini, segnalibri, campi modulo e altri elementi del documento nella posizione del cursore utilizzando il metodo Write
o uno qualsiasi dei metodi DocumentBuilder.InsertXXX, come InsertField, InsertHtml e metodi simili.
Vediamo come creare un semplice documento utilizzando il DocumentBuilder.
Crea un documento utilizzando DocumentBuilder
Per iniziare è necessario creare un DocumentBuilder e associarlo a un oggetto Document. Crei una nuova istanza di DocumentBuilder chiamandone il costruttore e passandola a un oggetto Document per l’allegato al costruttore.
Per inserire un testo, passa la stringa di testo che devi inserire nel documento al metodo Write.
L’esempio di codice seguente mostra come creare un documento semplice utilizzando un generatore di documenti.
Specificare la formattazione del documento
La proprietà Font definisce la formattazione del testo. Questo oggetto contiene diversi attributi del carattere (nome del carattere, dimensione del carattere, colore e così via). Alcuni importanti attributi dei caratteri sono rappresentati anche dalle proprietà DocumentBuilder per consentirti di accedervi direttamente. Queste sono le proprietà booleane Font.Bold, Font.Italic e Font.Underline.
Il seguente esempio di codice mostra come inserire un testo formattato utilizzando DocumentBuilder:
- Font specifica la formattazione dei caratteri che verrà applicata a tutto il testo inserito dalla posizione corrente nel documento in poi.
- ParagraphFormat specifica la formattazione del paragrafo corrente e di tutti i paragrafi da inserire.
- PageSetup specifica le proprietà della pagina e della sezione per la sezione corrente e l’intera sezione che verrà inserita.
- CellFormat e RowFormat specificano le proprietà di formattazione che verranno applicate alle celle e alle righe della tabella dalla posizione corrente nel documento in poi.
In questa situazione, “corrente” indica la posizione, il paragrafo, la sezione, la cella o la riga in cui si trova il cursore.