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; } | RestituisceVERO se 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