DocumentBuilder
DocumentBuilder class
Fornisce metodi per inserire testo, immagini e altri contenuti, specificare il font, la formattazione di paragrafi e sezioni.
Per saperne di più, visita ilPanoramica di Document Builder articolo di documentazione.
public class DocumentBuilder
Costruttori
| Nome | Descrizione |
|---|---|
| DocumentBuilder() | Inizializza una nuova istanza di questa classe. |
| DocumentBuilder(Document) | Inizializza una nuova istanza di questa classe. |
| DocumentBuilder(DocumentBuilderOptions) | Inizializza una nuova istanza di questa classe. |
| DocumentBuilder(Document, DocumentBuilderOptions) | Inizializza una nuova istanza di questa classe. |
Proprietà
| Nome | Descrizione |
|---|---|
| Bold { get; set; } | Vero se il font è formattato in grassetto. |
| CellFormat { get; } | Restituisce un oggetto che rappresenta le proprietà di formattazione delle celle della tabella corrente. |
| CurrentNode { get; } | Ottiene il nodo attualmente selezionato in questo DocumentBuilder. |
| CurrentParagraph { get; } | Ottiene il paragrafo attualmente selezionato in questoDocumentBuilder . |
| CurrentSection { get; } | Ottiene la sezione attualmente selezionata in questoDocumentBuilder . |
| CurrentStory { get; } | Ottiene la storia attualmente selezionata in questoDocumentBuilder . |
| CurrentStructuredDocumentTag { get; } | Ottiene il tag del documento strutturato attualmente selezionato in questoDocumentBuilder . |
| Document { get; set; } | Ottiene o imposta ilDocument oggetto a cui è collegato questo oggetto. |
| Font { get; } | Restituisce un oggetto che rappresenta le proprietà di formattazione del carattere corrente. |
| IsAtEndOfParagraph { get; } | RestituisceVERO se il cursore si trova alla fine del paragrafo corrente. |
| IsAtEndOfStructuredDocumentTag { get; } | RestituisceVERO se il cursore si trova alla fine di un tag di documento strutturato. |
| IsAtStartOfParagraph { get; } | RestituisceVEROse il cursore si trova all’inizio del paragrafo corrente (nessun testo prima del cursore). |
| Italic { get; set; } | Vero se il font è formattato in corsivo. |
| ListFormat { get; } | Restituisce un oggetto che rappresenta le proprietà di formattazione dell’elenco corrente. |
| PageSetup { get; } | Restituisce un oggetto che rappresenta l’impostazione di pagina corrente e le proprietà della sezione. |
| ParagraphFormat { get; } | Restituisce un oggetto che rappresenta le proprietà di formattazione del paragrafo corrente. |
| RowFormat { get; } | Restituisce un oggetto che rappresenta le proprietà di formattazione delle righe della tabella corrente. |
| Underline { get; set; } | Ottiene/imposta il tipo di sottolineatura per il font corrente. |
Metodi
| Nome | Descrizione |
|---|---|
| DeleteRow(int, int) | Elimina una riga da una tabella. |
| EndBookmark(string) | Contrassegna la posizione corrente nel documento come fine segnalibro. |
| EndColumnBookmark(string) | Contrassegna la posizione corrente nel documento come fine segnalibro di colonna. La posizione deve essere in una cella della tabella. |
| EndEditableRange() | Contrassegna la posizione corrente nel documento come fine di un intervallo modificabile. |
| EndEditableRange(EditableRangeStart) | Contrassegna la posizione corrente nel documento come fine di un intervallo modificabile. |
| EndRow() | Termina una riga della tabella nel documento. |
| EndTable() | Termina una tabella nel documento. |
| InsertBreak(BreakType) | Inserisce un’interruzione del tipo specificato nel documento. |
| InsertCell() | Inserisce una cella della tabella nel documento. |
| InsertChart(ChartType, double, double) | Inserisce un oggetto grafico nel documento e lo ridimensiona alla dimensione specificata. |
| InsertChart(ChartType, double, double, ChartStyle) | Inserisce un oggetto grafico nel documento e lo ridimensiona alla dimensione specificata. |
| InsertChart(ChartType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Inserisce un oggetto grafico nel documento e lo ridimensiona alla dimensione specificata. |
| InsertChart(ChartType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType, ChartStyle) | Inserisce un oggetto grafico nel documento e lo ridimensiona alla dimensione specificata. |
| InsertCheckBox(string, bool, int) | Inserisce un campo modulo casella di controllo nella posizione corrente. |
| InsertCheckBox(string, bool, bool, int) | Inserisce un campo modulo casella di controllo nella posizione corrente. |
| InsertComboBox(string, string[], int) | Inserisce un campo modulo combobox nella posizione corrente. |
| InsertDocument(Document, ImportFormatMode) | Inserisce un documento nella posizione del cursore. |
| InsertDocument(Document, ImportFormatMode, ImportFormatOptions) | Inserisce un documento nella posizione del cursore. |
| InsertDocumentInline(Document, ImportFormatMode, ImportFormatOptions) | Inserisce un documento in linea nella posizione del cursore. |
| InsertField(string) | Inserisce un campo Word in un documento e aggiorna il risultato del campo. |
| InsertField(FieldType, bool) | Inserisce un campo Word in un documento e, facoltativamente, aggiorna il risultato del campo. |
| InsertField(string, string) | Inserisce un campo Word in un documento senza aggiornare il risultato del campo. |
| InsertFootnote(FootnoteType, string) | Inserisce una nota a piè di pagina o una nota di chiusura nel documento. |
| InsertFootnote(FootnoteType, string, string) | Inserisce una nota a piè di pagina o una nota di chiusura nel documento. |
| InsertForms2OleControl(Forms2OleControl) | InserimentiForms2OleControl oggetto nella posizione corrente. |
| InsertGroupShape(params ShapeBase[]) | Raggruppa le forme passate come parametro in un nuovo nodo GroupShape che viene inserito nella posizione corrente. |
| InsertGroupShape(double, double, double, double, params ShapeBase[]) | Raggruppa le forme passate come parametro in un nuovo nodo GroupShape della dimensione specificata che viene inserito nella posizione specificata. |
| InsertHorizontalRule() | Inserisce una forma di regola orizzontale nel documento. |
| InsertHtml(string) | Inserisce una stringa HTML nel documento. |
| InsertHtml(string, bool) | Inserisce una stringa HTML nel documento. |
| InsertHtml(string, HtmlInsertOptions) | Inserisce una stringa HTML nel documento. Permette di specificare opzioni aggiuntive. |
| InsertHyperlink(string, string, bool) | Inserisce un collegamento ipertestuale nel documento. |
| InsertImage(byte[]) | Inserisce un’immagine da un array di byte nel documento. L’immagine viene inserita in linea e in scala al 100%. |
| InsertImage(Image) | Inserisce un’immagine da un file .NETImage Oggetto nel documento. L’immagine viene inserita in linea e in scala al 100%. |
| InsertImage(Stream) | Inserisce un’immagine da un flusso nel documento. L’immagine viene inserita in linea e in scala al 100%. |
| InsertImage(string) | Inserisce un’immagine da un file o da un URL nel documento. L’immagine viene inserita in linea e in scala al 100%. |
| InsertImage(byte[], double, double) | Inserisce un’immagine in linea da un array di byte nel documento e la ridimensiona alla dimensione specificata. |
| InsertImage(Image, double, double) | Inserisce un’immagine in linea da un file .NETImage oggetto nel documento e lo ridimensiona alla dimensione specificata. |
| InsertImage(Stream, double, double) | Inserisce un’immagine in linea da un flusso nel documento e la ridimensiona alla dimensione specificata. |
| InsertImage(string, double, double) | Inserisce un’immagine in linea da un file o URL nel documento e la ridimensiona alla dimensione specificata. |
| InsertImage(byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Inserisce un’immagine da un array di byte nella posizione e dimensione specificate. |
| InsertImage(Image, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Inserisce un’immagine da un file .NETImage oggetto nella posizione e dimensione specificate. |
| InsertImage(Stream, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Inserisce un’immagine da un flusso nella posizione e dimensione specificate. |
| InsertImage(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Inserisce un’immagine da un file o URL nella posizione e dimensione specificate. |
| InsertNode(Node) | Inserisce un nodo prima del cursore. |
| InsertOleObject(Stream, string, bool, Stream) | Inserisce un oggetto OLE incorporato da un flusso nel documento. |
| InsertOleObject(string, bool, bool, Stream) | Inserisce un oggetto OLE incorporato o collegato da un file nel documento. Rileva il tipo di oggetto OLE tramite l’estensione del file. |
| InsertOleObject(string, string, bool, bool, Stream) | Inserisce un oggetto OLE incorporato o collegato da un file nel documento. Rileva il tipo di oggetto OLE utilizzando il parametro progID specificato. |
| InsertOleObjectAsIcon(Stream, string, string, string) | Inserisce un oggetto OLE incorporato come icona da un flusso nel documento. Consente di specificare il file dell’icona e la didascalia. Rileva il tipo di oggetto OLE utilizzando il parametro progID specificato. |
| InsertOleObjectAsIcon(string, bool, string, string) | Inserisce un oggetto OLE incorporato o collegato come icona nel documento. Consente di specificare il file dell’icona e la didascalia. Rileva il tipo di oggetto OLE tramite l’estensione del file. |
| InsertOleObjectAsIcon(string, string, bool, string, string) | Inserisce un oggetto OLE incorporato o collegato come icona nel documento. Consente di specificare il file dell’icona e la didascalia. Rileva il tipo di oggetto OLE utilizzando il parametro progID specificato. |
| InsertOnlineVideo(string, double, double) | Inserisce un oggetto video online nel documento e lo ridimensiona alla dimensione specificata. |
| InsertOnlineVideo(string, string, byte[], double, double) | Inserisce un oggetto video online nel documento e lo ridimensiona alla dimensione specificata. |
| InsertOnlineVideo(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Inserisce un oggetto video online nel documento e lo ridimensiona alla dimensione specificata. |
| InsertOnlineVideo(string, string, byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Inserisce un oggetto video online nel documento e lo ridimensiona alla dimensione specificata. |
| InsertParagraph() | Inserisce un’interruzione di paragrafo nel documento. |
| InsertShape(ShapeType, double, double) | Inserisce una forma in linea con il tipo e le dimensioni specificati. |
| InsertShape(ShapeType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Inserisce una forma mobile con posizione, dimensione e tipo di avvolgimento del testo specificati. |
| InsertSignatureLine(SignatureLineOptions) | Inserisce una riga di firma nella posizione corrente. |
| InsertSignatureLine(SignatureLineOptions, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, WrapType) | Inserisce una riga di firma nella posizione specificata. |
| InsertStructuredDocumentTag(SdtType) | Inserisce unStructuredDocumentTag nel documento. |
| InsertStyleSeparator() | Inserisce un separatore di stile nel documento. |
| InsertTableOfContents(string) | Inserisce un campo TOC (indice) nel documento. |
| InsertTextInput(string, TextFormFieldType, string, string, int) | Inserisce un campo modulo di testo nella posizione corrente. |
| MoveTo(Node) | Sposta il cursore su un nodo in linea o alla fine di un paragrafo. |
| MoveToBookmark(string) | Sposta il cursore su un segnalibro. |
| MoveToBookmark(string, bool, bool) | Sposta il cursore su un segnalibro con maggiore precisione. |
| MoveToCell(int, int, int, int) | Sposta il cursore su una cella della tabella nella sezione corrente. |
| MoveToDocumentEnd() | Sposta il cursore alla fine del documento. |
| MoveToDocumentStart() | Sposta il cursore all’inizio del documento. |
| MoveToField(Field, bool) | Sposta il cursore su un campo nel documento. |
| MoveToHeaderFooter(HeaderFooterType) | Sposta il cursore all’inizio di un’intestazione o di un piè di pagina nella sezione corrente. |
| MoveToMergeField(string) | Sposta il cursore in una posizione appena oltre il campo di unione specificato e rimuove il campo di unione. |
| MoveToMergeField(string, bool, bool) | Sposta il campo di unione nel campo di unione specificato. |
| MoveToParagraph(int, int) | Sposta il cursore su un paragrafo nella sezione corrente. |
| MoveToSection(int) | Sposta il cursore all’inizio del corpo in una sezione specificata. |
| MoveToStructuredDocumentTag(int, int) | Sposta il cursore su un tag di documento strutturato nella sezione corrente. |
| MoveToStructuredDocumentTag(StructuredDocumentTag, int) | Sposta il cursore sul tag del documento strutturato. |
| PopFont() | Recupera la formattazione dei caratteri precedentemente salvata nello stack. |
| PushFont() | Salva la formattazione corrente del carattere nello stack. |
| StartBookmark(string) | Contrassegna la posizione corrente nel documento come inizio del segnalibro. |
| StartColumnBookmark(string) | Contrassegna la posizione corrente nel documento come inizio di un segnalibro di colonna. La posizione deve essere in una cella della tabella. |
| StartEditableRange() | Contrassegna la posizione corrente nel documento come inizio di un intervallo modificabile. |
| StartTable() | Avvia una tabella nel documento. |
| Write(string) | Inserisce una stringa nel documento nella posizione di inserimento corrente. |
| Writeln() | Inserisce un’interruzione di paragrafo nel documento. |
| Writeln(string) | Inserisce una stringa e un’interruzione di paragrafo nel documento. |
Osservazioni
DocumentBuilder rende il processo di costruzione di unDocument più facile. Document è un oggetto composito costituito da un albero di nodi e, sebbene sia possibile inserire nodi content direttamente nell’albero, è richiesta una buona comprensione della struttura dell’albero. DocumentBuilder è una “facciata” per la complessa struttura diDocument e consente a di inserire contenuti e formattazione in modo rapido e semplice.
Crea unDocumentBuilder e associarlo ad unDocument.
ILDocumentBuilder ha un cursore interno dove verrà inserito il testo quando si chiamaWrite ,Writeln ,InsertBreak e altri metodi. Puoi navigare nelDocumentBuilder cursore in una posizione diversa in un documento utilizzando vari metodi MoveToXXX.
Utilizzare ilFont proprietà per specificare la formattazione dei caratteri che verrà applicata a tutto il testo inserito dalla posizione corrente nel documento in poi.
Utilizzare ilParagraphFormat proprietà per specificare la formattazione del paragrafo current e di tutti i paragrafi che verranno inseriti.
Utilizzare ilPageSetup proprietà per specificare le proprietà di pagina e sezione per la sezione current e tutte le sezioni che verranno inserite.
Utilizzare ilCellFormat ERowFormat proprietà per specificare le proprietà di formattazione per le celle e le righe della tabella. Utilizzare l’InsertCell e EndRow metodi per costruire una tabella.
Notare cheFont ,ParagraphFormat EPageSetup le proprietà vengono aggiornate ogni volta che si passa a un punto diverso del documento per riflettere le proprietà di formattazione disponibili nella nuova posizione.
Esempi
Mostra come utilizzare un generatore di documenti per creare una tabella.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Avvia la tabella, quindi popola la prima riga con due celle.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1.");
builder.InsertCell();
builder.Write("Row 1, Cell 2.");
// Chiama il metodo "EndRow" del builder per iniziare una nuova riga.
builder.EndRow();
builder.InsertCell();
builder.Write("Row 2, Cell 1.");
builder.InsertCell();
builder.Write("Row 2, Cell 2.");
builder.EndTable();
doc.Save(ArtifactsDir + "DocumentBuilder.CreateTable.docx");
Mostra come creare intestazioni e piè di pagina in un documento utilizzando DocumentBuilder.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Specificare che si vogliono intestazioni e piè di pagina diversi per la prima pagina, le pagine pari e quelle dispari.
builder.PageSetup.DifferentFirstPageHeaderFooter = true;
builder.PageSetup.OddAndEvenPagesHeaderFooter = true;
// Crea le intestazioni, quindi aggiungi tre pagine al documento per visualizzare ciascun tipo di intestazione.
builder.MoveToHeaderFooter(HeaderFooterType.HeaderFirst);
builder.Write("Header for the first page");
builder.MoveToHeaderFooter(HeaderFooterType.HeaderEven);
builder.Write("Header for even pages");
builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
builder.Write("Header for all other pages");
builder.MoveToSection(0);
builder.Writeln("Page1");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page2");
builder.InsertBreak(BreakType.PageBreak);
builder.Writeln("Page3");
doc.Save(ArtifactsDir + "DocumentBuilder.HeadersAndFooters.docx");
Mostra come creare una tabella con bordi personalizzati.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.StartTable();
// Impostazione delle opzioni di formattazione della tabella per un generatore di documenti
// li applicheremo a ogni riga e cella che aggiungeremo.
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
builder.CellFormat.ClearFormatting();
builder.CellFormat.Width = 150;
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.CellFormat.Shading.BackgroundPatternColor = Color.GreenYellow;
builder.CellFormat.WrapText = false;
builder.CellFormat.FitText = true;
builder.RowFormat.ClearFormatting();
builder.RowFormat.HeightRule = HeightRule.Exactly;
builder.RowFormat.Height = 50;
builder.RowFormat.Borders.LineStyle = LineStyle.Engrave3D;
builder.RowFormat.Borders.Color = Color.Orange;
builder.InsertCell();
builder.Write("Row 1, Col 1");
builder.InsertCell();
builder.Write("Row 1, Col 2");
builder.EndRow();
// La modifica della formattazione verrà applicata alla cella corrente,
// e tutte le nuove celle che creeremo in seguito con il builder.
// Ciò non influirà sulle celle aggiunte in precedenza.
builder.CellFormat.Shading.ClearFormatting();
builder.InsertCell();
builder.Write("Row 2, Col 1");
builder.InsertCell();
builder.Write("Row 2, Col 2");
builder.EndRow();
// Aumenta l'altezza della riga per adattarla al testo verticale.
builder.InsertCell();
builder.RowFormat.Height = 150;
builder.CellFormat.Orientation = TextOrientation.Upward;
builder.Write("Row 3, Col 1");
builder.InsertCell();
builder.CellFormat.Orientation = TextOrientation.Downward;
builder.Write("Row 3, Col 2");
builder.EndRow();
builder.EndTable();
doc.Save(ArtifactsDir + "DocumentBuilder.InsertTable.docx");
Guarda anche
- spazio dei nomi Aspose.Words
- assemblea Aspose.Words