Uso `DocumentBuilder` per inserire elementi di documento

The DocumentBuilder viene utilizzato per modificare i documenti. Questo articolo spiega e descrive come eseguire una serie di compiti.

Inserire una stringa di testo

Basta passare la stringa di testo che è necessario inserire nel documento al DocumentBuilder.write metodo. La formattazione del testo è determinata dalla Font proprieta'. Questo oggetto contiene diversi attributi di carattere (nome di testo, dimensione del carattere, colore e così via). Alcuni attributi di carattere importanti sono anche rappresentati da DocumentBuilder proprietà per consentire di accedervi direttamente. Queste sono proprietà booleane Font.getBold, Font.getItalic, e Font.getUnderline.

Il seguente esempio di codice inserisce il testo formattato utilizzando DocumentBuilder.

Inserire un paragrafo

DocumentBuilder.writeln inserisce anche una stringa di testo nel documento, ma in aggiunta aggiunge una pausa di paragrafo. La formattazione attuale del carattere è specificata anche dal DocumentBuilder. ♪ Proprietà del carattere e la formattazione del paragrafo corrente è determinata dalla proprietà DocumentBuilder.getParagraphFormat

Il seguente esempio di codice mostra come inserire un paragrafo nel documento.

Inserimento di una tabella

L’algoritmo di base per creare una tabella utilizzando DocumentBuilder è semplice:

  1. Avviare la tabella utilizzando DocumentBuilder.startTable.
  2. Inserire una cella utilizzando DocumentBuilder.insertCell. Questo inizia automaticamente una nuova riga. Se necessario, utilizzare il DocumentBuilder.getCellFormat proprietà per specificare la formattazione della cella.
  3. Inserire il contenuto della cella utilizzando DocumentBuilder metodi.
  4. Ripetere i passaggi 2 e 3 fino a quando la riga non è completa.
  5. Chiamata DocumentBuilder.endRow per terminare la riga corrente. Se necessario, utilizzare DocumentBuilder.RowFormat proprietà per specificare la formattazione della riga.
  6. Ripetere i passaggi 2 - 5 fino a quando la tabella non è completa.
  7. Chiamata DocumentBuilder.endTable per finire l’edificio del tavolo. Di seguito sono descritti i metodi di creazione della tabella DocumentBuilder.

Avvio di un tavolo

Chiama DocumentBuilder.start Il tavolo è il primo passo nella costruzione di un tavolo. Può essere chiamato anche all’interno di una cella, in questo caso, inizia un tavolo nidiato. Il metodo successivo per chiamare è DocumentBuilder.insertCell.

Inserimento di una cella

Dopo aver chiamato DocumentBuilder. inserto Cell, viene creata una nuova cella e qualsiasi contenuto che aggiungi utilizzando altri metodi DocumentBuilder la classe verrà aggiunta alla cella corrente. Per avviare una nuova cella nella stessa riga, chiamare DocumentBuilder. inserto Ancora una volta. Utilizzare il DocumentBuilder.getCell Formattare la proprietà per specificare la formattazione della cella. Restituisce un getCellFormat oggetto che rappresenta tutta la formattazione per una cella di tabella.

Fine di una riga

Chiama DocumentBuilder.end Fila per finire la riga corrente. Se chiami DocumentBuilder. inserto Cell subito dopo, poi la tabella continua su una nuova riga. Utilizzare DocumentBuilder.RowFormat proprietà per specificare la formattazione della riga. Restituisce un RowFormat oggetto che rappresenta tutta la formattazione per una riga di tabella.

Fine di un tavolo

Chiama DocumentBuilder.end Tavolo per finire la tabella corrente. Questo metodo dovrebbe essere chiamato solo una volta dopo DocumentBuilder. EndRow è stato chiamato. Quando chiamato, DocumentBuilder.end La tabella sposta il cursore dalla cella corrente in una posizione appena dopo la tabella. L’esempio seguente mostra come costruire una tabella formattata che contiene 2 righe e 2 colonne.

Inserire una rottura

Se si desidera avviare esplicitamente una nuova linea, paragrafo, colonna, sezione o pagina, chiamare DocumentBuilder. inserireBreak. Passare a questo metodo il tipo di pausa è necessario inserire che è rappresentato dal BreakType enumerazione Il seguente esempio di codice mostra come inserire le interruzioni di pagina in un documento.

Inserimento di un’immagine

DocumentBuilder fornisce diversi sovraccarichi dei DocumentBuilder.insertImage metodo che consente di inserire un’immagine in linea o galleggiante. Se l’immagine è un metafile EMF o WMF, verrà inserito nel documento in formato metafile. Tutte le altre immagini saranno memorizzate in formato PNG. Il DocumentBuilder.insert Il metodo di immagine può usare immagini da diverse fonti:

  • Da un file o URL passando un parametro di stringa
  • Da un ruscello passando un Stream parametro
  • Da un oggetto Image passando un parametro Image
  • Da un array byte passando un parametro di array byte
  • No. E altri

Per ognuno dei DocumentBuilder. inserto Metodi di immagine, ci sono ulteriori sovraccarichi che permettono di inserire un’immagine con le seguenti opzioni:

  • Inline o galleggianti in una posizione specifica
  • Scala del profumo o dimensione personalizzata

Inoltre, il DocumentBuilder.insert Metodo di immagine restituisce un Shape oggetto appena creato e inserito in modo da poter modificare ulteriormente le proprietà della Forma.

Inserimento di un’immagine in linea

Passare una singola stringa che rappresenta un file che contiene l’immagine a DocumentBuilder. inserto Immagine per inserire l’immagine nel documento come grafica in linea. Il seguente esempio di codice mostra come inserire un’immagine in linea nella posizione del cursore in un documento.

Inserimento di un galleggiamento (assolutamente posizionato) Immagine

Questo esempio inserisce un’immagine galleggiante da un file o URL in una posizione e dimensione specificate.

Inserimento di un segnalibro

Per inserire un segnalibro nel documento, è necessario fare quanto segue:

  1. Chiamata DocumentBuilder.startBookmark passarlo il nome desiderato del segnalibro.
  2. Inserisci il testo del segnalibro usando DocumentBuilder metodi.
  3. Chiamata DocumentBuilder.endBookmark passando lo stesso nome che hai usato con DocumentBuilder.startBookmark.

I segnalibri possono sovrapporre e abbracciare qualsiasi gamma. Per creare un segnalibro valido è necessario chiamare sia DocumentBuilder.startBookmark che DocumentBuilder.endBookmark con lo stesso nome del segnalibro.

Segnalibri o segnalibri mal formati con nomi duplicati verranno ignorati quando il documento viene salvato.

Il seguente esempio di codice mostra come inserire un segnalibro in un documento utilizzando un costruttore di documenti.

Inserire un campo

Campi in Microsoft Word documenti sono costituiti da un codice di campo e un risultato di campo. Il codice di campo è come una formula e il risultato di campo è il valore che la formula produce. Il codice di campo può anche contenere interruttori di campo che sono istruzioni aggiuntive per eseguire un’azione specifica. È possibile passare tra la visualizzazione dei codici di campo e i risultati nel documento in Microsoft Word utilizzando la scorciatoia della tastiera Alt+F9. I codici di campo appaiono tra i brace ricci ( { } ).Utilizzo DocumentBuilder.insertField creare campi nel documento. È necessario specificare un tipo di campo, codice di campo e valore di campo. Se non sei sicuro della particolare sintassi codice campo, creare il campo in Microsoft Word prima e passare a vedere il suo codice di campo Il seguente esempio di codice inserisce un campo di fusione in un documento utilizzando DocumentBuilder.

Inserimento di un Form Campo

I campi di forma sono un particolare caso di campi di Word che permette “interazione” con l’utente. Campi formali in Microsoft Word includere casella di testo, Combobox e casella di controllo. DocumentBuilder fornisce metodi speciali per inserire ogni tipo di campo forma nel documento: DocumentBuilder.insertTextInputDocumentBuilder.insertCheckBox, e DocumentBuilder.insertComboBox. Si noti che se si specifica un nome per il campo del modulo, viene creato automaticamente un segnalibro con lo stesso nome.

Inserimento di un input di testo

DocumentBuilder.insertTextInput per inserire una casella di testo nel documento. Il seguente esempio di codice mostra come inserire un campo del modulo di input di testo in un documento.

Inserimento di un CheckBox

Chiama DocumentBuilder.insert CheckBox per inserire una casella di controllo nel documento. Il seguente esempio di codice mostra come inserire un campo del modulo di checkbox in un documento.

Inserimento di una scatola Combo

Chiama DocumentBuilder.insertComboBox inserire una casella combo nel documento. Il seguente esempio di codice mostra come inserire un campo di forma combo box in un documento.

Inserimento locale a livello di campo

I clienti possono specificare Locale a livello di campo ora e può ottenere un migliore controllo. Locale Ids possono essere associati con ogni campo all’interno del DocumentBuilder. Gli esempi qui sotto illustrano come utilizzare questa opzione.

Inserimento HTML

È possibile inserire facilmente una stringa HTML che contiene un frammento HTML o un intero documento HTML nel documento di Word. Basta passare questa stringa al DocumentBuilder. inserto Metodo Html. Una delle utili implementazioni del metodo sta memorizzando una stringa HTML in un database e inserendola nel documento durante il mail merge per ottenere il contenuto formattato aggiunto invece di costruirlo utilizzando vari metodi del costruttore di documenti. Il seguente esempio di codice mostra inserti HTML in un documento utilizzando DocumentBuilder.

Inserimento di un collegamento ipertestuale

Utilizzare DocumentBuilder.insertHyperlink per inserire un collegamento ipertestuale nel documento. Questo metodo accetta tre parametri: il testo del link da visualizzare nel documento, la destinazione del collegamento (URL o un nome di un segnalibro all’interno del documento), e un parametro booleano che dovrebbe essere true se il URL è un nome di un segnalibro all’interno del documento. DocumentBuilder.insertHyperlink chiama internamente DocumentBuilder.insertField. Il metodo aggiunge sempre gli apostrofi all’inizio e alla fine dell’URL. Si noti che è necessario specificare la formattazione del carattere per il testo del display del collegamento ipertestuale utilizzando esplicitamente il Font proprieta'. Il seguente esempio di codice inserisce un collegamento ipertestuale in un documento utilizzando DocumentBuilder.

Inserire una tabella dei contenuti

È possibile inserire un TOC (tabella dei contenuti) campo nel documento in posizione corrente chiamando il DocumentBuilder.insertTableOfContents metodo. Il metodo DocumentBuilder.insertTableOfContents inserisce solo un TOC campo nel documento. Al fine di costruire la tabella dei contenuti e visualizzarli secondo i numeri di pagina, entrambi Document.UpdateFieldsmetodo deve essere chiamato dopo l’inserimento del campo. Il seguente esempio di codice mostra come inserire un campo Table of Contents in un documento.

Inserimento Ole Object

Se vuoi Ole Object call DocumentBuilder.insertOleObjectAsIcon.

Impostare il nome e l’estensione del file quando si inserisce Ole Object

Il pacchetto OLE è un modo legacy e “non documentato” per memorizzare oggetti incorporati se il gestore OLE è sconosciuto. In anticipo Windows versioni come Windows 3.1, 95 e 98 avevano Packager. exe applicazione che potrebbe essere utilizzata per incorporare qualsiasi tipo di dati nel documento. Ora, questa domanda è esclusa da Windows ma MS Word e altre applicazioni ancora lo utilizzano per incorporare i dati se il gestore OLE è mancante o sconosciuto. La classe OlePackage consente di accedere alle proprietà del pacchetto OLE. Il seguente esempio di codice mostra come impostare il nome del file, l’estensione e il nome del display per OLE Package.

Accedi a OLE Object Raw Data

Il seguente esempio di codice dimostra come ottenere OLE Dati grezzi oggetto utilizzando OleFormat.GetRawData() metodo.

Inserto orizzontale Regola nel documento

Il seguente esempio di codice mostra come inserire la forma della regola orizzontale in un documento utilizzando DocumentBuilder.InsertHorizontalRule metodo.

Lavorare con forme

Inserimento delle forme in linea e free-floating

È possibile inserire una forma in linea con un tipo e una dimensione specificati e una forma di libero scambio con la posizione specificata, la dimensione e il tipo di involucro di testo in un documento utilizzando DocumentBuilder.InsertShape metodo. The DocumentBuilder.InsertShape metodo consente di inserire la forma DML nel modello del documento. Il documento deve essere salvato nel formato, che supporta le forme DML, altrimenti tali nodi saranno convertiti in forma VML, mentre il salvataggio dei documenti. Il seguente esempio di codice mostra come inserire questi tipi di forme nel documento.

Crea rettangolo angolo snip

È possibile creare un rettangolo angolo snip utilizzando Aspose.Words. I tipi di forma sono SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped, TopCornersOneRounded OneSnipped, SingleCornerRounded, TopCornersRounded, and DiagonalCornersRounded. La forma DML è creata utilizzando DocumentBuilder.InsertShape metodo con questi tipi di forma. Questi tipi non possono essere utilizzati per creare forme VML. Il tentativo di creare una forma utilizzando il costruttore pubblico della classe “Shape” solleva l’eccezione “NotSupportedException”. Il seguente esempio di codice mostra come inserire questi tipi di forme nel documento.

Importa forme con matematica XML come forme in DOM

È possibile utilizzare LoadOptions.ConvertShapeToOfficeMath proprietà per convertire le forme con EquationXML in oggetti Office Math. Il valore predefinito di questa proprietà corrisponde al comportamento di MS Word cioè le forme con l’equazione XML non vengono convertite in oggetti di matematica di Office.