DocumentBuilder
DocumentBuilder class
Bietet Methoden zum Einfügen von Text, Bildern und anderen Inhalten sowie zum Festlegen der Schriftart sowie der Absatz- und Abschnittsformatierung.
Um mehr zu erfahren, besuchen Sie dieDocument Builder-Übersicht Dokumentationsartikel.
public class DocumentBuilder
Konstrukteure
Name | Beschreibung |
---|---|
DocumentBuilder() | Initialisiert eine neue Instanz dieser Klasse. |
DocumentBuilder(Document) | Initialisiert eine neue Instanz dieser Klasse. |
DocumentBuilder(DocumentBuilderOptions) | Initialisiert eine neue Instanz dieser Klasse. |
DocumentBuilder(Document, DocumentBuilderOptions) | Initialisiert eine neue Instanz dieser Klasse. |
Eigenschaften
Name | Beschreibung |
---|---|
Bold { get; set; } | Wahr, wenn die Schriftart fett formatiert ist. |
CellFormat { get; } | Gibt ein Objekt zurück, das die aktuellen Formatierungseigenschaften der Tabellenzelle darstellt. |
CurrentNode { get; } | Ruft den Knoten ab, der derzeit in diesem DocumentBuilder ausgewählt ist. |
CurrentParagraph { get; } | Ruft den Absatz ab, der aktuell in diesemDocumentBuilder . |
CurrentSection { get; } | Ruft den Abschnitt ab, der aktuell in diesemDocumentBuilder . |
CurrentStory { get; } | Ruft die aktuell ausgewählte Story ab.DocumentBuilder . |
CurrentStructuredDocumentTag { get; } | Ruft das strukturierte Dokument-Tag ab, das derzeit in diesemDocumentBuilder . |
Document { get; set; } | Ruft ab oder setzt dieDocument Objekt, an das dieses Objekt angehängt ist. |
Font { get; } | Gibt ein Objekt zurück, das die aktuellen Schriftformatierungseigenschaften darstellt. |
IsAtEndOfParagraph { get; } | RückgabenWAHR wenn sich der Cursor am Ende des aktuellen Absatzes befindet. |
IsAtEndOfStructuredDocumentTag { get; } | RückgabenWAHR wenn sich der Cursor am Ende eines strukturierten Dokument-Tags befindet. |
IsAtStartOfParagraph { get; } | RückgabenWAHR wenn sich der Cursor am Anfang des aktuellen Absatzes befindet (kein Text vor dem Cursor). |
Italic { get; set; } | Wahr, wenn die Schriftart kursiv formatiert ist. |
ListFormat { get; } | Gibt ein Objekt zurück, das die aktuellen Listenformatierungseigenschaften darstellt. |
PageSetup { get; } | Gibt ein Objekt zurück, das die aktuellen Seiteneinstellungen und Abschnittseigenschaften darstellt. |
ParagraphFormat { get; } | Gibt ein Objekt zurück, das die aktuellen Absatzformatierungseigenschaften darstellt. |
RowFormat { get; } | Gibt ein Objekt zurück, das die aktuellen Formatierungseigenschaften der Tabellenzeile darstellt. |
Underline { get; set; } | Ruft den Unterstreichungstyp für die aktuelle Schriftart ab/legt ihn fest. |
Methoden
Name | Beschreibung |
---|---|
DeleteRow(int, int) | Löscht eine Zeile aus einer Tabelle. |
EndBookmark(string) | Markiert die aktuelle Position im Dokument als Lesezeichenende. |
EndColumnBookmark(string) | Markiert die aktuelle Position im Dokument als Spaltenlesezeichenende. Die Position muss in einer Tabellenzelle liegen. |
EndEditableRange() | Markiert die aktuelle Position im Dokument als editierbares Bereichsende. |
EndEditableRange(EditableRangeStart) | Markiert die aktuelle Position im Dokument als editierbares Bereichsende. |
EndRow() | Beendet eine Tabellenzeile im Dokument. |
EndTable() | Beendet eine Tabelle im Dokument. |
InsertBreak(BreakType) | Fügt einen Umbruch des angegebenen Typs in das Dokument ein. |
InsertCell() | Fügt eine Tabellenzelle in das Dokument ein. |
InsertChart(ChartType, double, double) | Fügt ein Diagrammobjekt in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertChart(ChartType, double, double, ChartStyle) | Fügt ein Diagrammobjekt in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertChart(ChartType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Fügt ein Diagrammobjekt in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertChart(ChartType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType, ChartStyle) | Fügt ein Diagrammobjekt in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertCheckBox(string, bool, int) | Fügt an der aktuellen Position ein Kontrollkästchen-Formularfeld ein. |
InsertCheckBox(string, bool, bool, int) | Fügt an der aktuellen Position ein Kontrollkästchen-Formularfeld ein. |
InsertComboBox(string, string[], int) | Fügt an der aktuellen Position ein Combobox-Formularfeld ein. |
InsertDocument(Document, ImportFormatMode) | Fügt ein Dokument an der Cursorposition ein. |
InsertDocument(Document, ImportFormatMode, ImportFormatOptions) | Fügt ein Dokument an der Cursorposition ein. |
InsertDocumentInline(Document, ImportFormatMode, ImportFormatOptions) | Fügt ein Dokument inline an der Cursorposition ein. |
InsertField(string) | Fügt ein Word-Feld in ein Dokument ein und aktualisiert das Feldergebnis. |
InsertField(FieldType, bool) | Fügt ein Word-Feld in ein Dokument ein und aktualisiert optional das Feldergebnis. |
InsertField(string, string) | Fügt ein Word-Feld in ein Dokument ein, ohne das Feldergebnis zu aktualisieren. |
InsertFootnote(FootnoteType, string) | Fügt eine Fußnote oder Endnote in das Dokument ein. |
InsertFootnote(FootnoteType, string, string) | Fügt eine Fußnote oder Endnote in das Dokument ein. |
InsertForms2OleControl(Forms2OleControl) | EinsätzeForms2OleControl Objekt in aktuelle Position. |
InsertGroupShape(params ShapeBase[]) | Gruppiert die als Parameter übergebenen Formen in einem neuen GroupShape-Knoten, der an der aktuellen Position eingefügt wird. |
InsertGroupShape(double, double, double, double, params ShapeBase[]) | Gruppiert die als Parameter übergebenen Formen in einem neuen GroupShape-Knoten der angegebenen Größe, der an der angegebenen Position eingefügt wird. |
InsertHorizontalRule() | Fügt eine horizontale Linienform in das Dokument ein. |
InsertHtml(string) | Fügt eine HTML-Zeichenfolge in das Dokument ein. |
InsertHtml(string, bool) | Fügt eine HTML-Zeichenfolge in das Dokument ein. |
InsertHtml(string, HtmlInsertOptions) | Fügt einen HTML-String in das Dokument ein. Ermöglicht die Angabe zusätzlicher Optionen. |
InsertHyperlink(string, string, bool) | Fügt einen Hyperlink in das Dokument ein. |
InsertImage(byte[]) | Fügt ein Bild aus einem Byte-Array in das Dokument ein. Das Bild wird inline und im Maßstab 100 % eingefügt. |
InsertImage(Image) | Fügt ein Bild aus einer .NETImage Objekt in das Dokument. Das Bild wird inline und im Maßstab 100 % eingefügt. |
InsertImage(Stream) | Fügt ein Bild aus einem Stream in das Dokument ein. Das Bild wird inline und im Maßstab 100 % eingefügt. |
InsertImage(string) | Fügt ein Bild aus einer Datei oder URL in das Dokument ein. Das Bild wird inline und im Maßstab 100 % eingefügt. |
InsertImage(byte[], double, double) | Fügt ein Inline-Bild aus einem Byte-Array in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertImage(Image, double, double) | Fügt ein Inline-Bild aus einem .NETImage -Objekt in das Dokument und skaliert es auf die angegebene Größe. |
InsertImage(Stream, double, double) | Fügt ein Inline-Bild aus einem Stream in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertImage(string, double, double) | Fügt ein Inline-Bild aus einer Datei oder URL in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertImage(byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Fügt ein Bild aus einem Byte-Array an der angegebenen Position und Größe ein. |
InsertImage(Image, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Fügt ein Bild aus einer .NETImage Objekt an der angegebenen Position und Größe. |
InsertImage(Stream, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Fügt ein Bild aus einem Stream an der angegebenen Position und in der angegebenen Größe ein. |
InsertImage(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Fügt ein Bild aus einer Datei oder URL an der angegebenen Position und in der angegebenen Größe ein. |
InsertNode(Node) | Fügt einen Knoten vor dem Cursor ein. |
InsertOleObject(Stream, string, bool, Stream) | Fügt ein eingebettetes OLE-Objekt aus einem Stream in das Dokument ein. |
InsertOleObject(string, bool, bool, Stream) | Fügt ein eingebettetes oder verknüpftes OLE-Objekt aus einer Datei in das Dokument ein. Der OLE-Objekttyp wird anhand der Dateierweiterung erkannt. |
InsertOleObject(string, string, bool, bool, Stream) | Fügt ein eingebettetes oder verknüpftes OLE-Objekt aus einer Datei in das Dokument ein. Der OLE-Objekttyp wird anhand des angegebenen progID-Parameters ermittelt. |
InsertOleObjectAsIcon(Stream, string, string, string) | Fügt ein eingebettetes OLE-Objekt als Symbol aus einem Stream in das Dokument ein. Ermöglicht die Angabe der Symboldatei und der Beschriftung. Erkennt den OLE-Objekttyp anhand des angegebenen progID-Parameters. |
InsertOleObjectAsIcon(string, bool, string, string) | Fügt ein eingebettetes oder verknüpftes OLE-Objekt als Symbol in das Dokument ein. Ermöglicht die Angabe der Symboldatei und der Beschriftung. Erkennt den OLE-Objekttyp anhand der Dateierweiterung. |
InsertOleObjectAsIcon(string, string, bool, string, string) | Fügt ein eingebettetes oder verknüpftes OLE-Objekt als Symbol in das Dokument ein. Ermöglicht die Angabe der Symboldatei und der Beschriftung. Erkennt den OLE-Objekttyp anhand des angegebenen progID-Parameters. |
InsertOnlineVideo(string, double, double) | Fügt ein Online-Videoobjekt in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertOnlineVideo(string, string, byte[], double, double) | Fügt ein Online-Videoobjekt in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertOnlineVideo(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Fügt ein Online-Videoobjekt in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertOnlineVideo(string, string, byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Fügt ein Online-Videoobjekt in das Dokument ein und skaliert es auf die angegebene Größe. |
InsertParagraph() | Fügt einen Absatzumbruch in das Dokument ein. |
InsertShape(ShapeType, double, double) | Fügt eine Inline-Form mit angegebenem Typ und angegebener Größe ein. |
InsertShape(ShapeType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Fügt eine frei schwebende Form mit angegebener Position, Größe und Textumbruchart ein. |
InsertSignatureLine(SignatureLineOptions) | Fügt an der aktuellen Position eine Signaturzeile ein. |
InsertSignatureLine(SignatureLineOptions, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, WrapType) | Fügt an der angegebenen Position eine Signaturzeile ein. |
InsertStructuredDocumentTag(SdtType) | Fügt einStructuredDocumentTag in das Dokument. |
InsertStyleSeparator() | Fügt einen Stiltrenner in das Dokument ein. |
InsertTableOfContents(string) | Fügt ein TOC-Feld (Inhaltsverzeichnis) in das Dokument ein. |
InsertTextInput(string, TextFormFieldType, string, string, int) | Fügt an der aktuellen Position ein Textformularfeld ein. |
MoveTo(Node) | Bewegt den Cursor zu einem Inline-Knoten oder an das Ende eines Absatzes. |
MoveToBookmark(string) | Bewegt den Cursor zu einem Lesezeichen. |
MoveToBookmark(string, bool, bool) | Verschiebt den Cursor mit größerer Präzision zu einem Lesezeichen. |
MoveToCell(int, int, int, int) | Bewegt den Cursor zu einer Tabellenzelle im aktuellen Abschnitt. |
MoveToDocumentEnd() | Bewegt den Cursor an das Ende des Dokuments. |
MoveToDocumentStart() | Bewegt den Cursor an den Anfang des Dokuments. |
MoveToField(Field, bool) | Bewegt den Cursor zu einem Feld im Dokument. |
MoveToHeaderFooter(HeaderFooterType) | Bewegt den Cursor an den Anfang einer Kopf- oder Fußzeile im aktuellen Abschnitt. |
MoveToMergeField(string) | Verschiebt den Cursor an eine Position direkt hinter dem angegebenen Seriendruckfeld und entfernt das Seriendruckfeld. |
MoveToMergeField(string, bool, bool) | Verschiebt das Seriendruckfeld in das angegebene Seriendruckfeld. |
MoveToParagraph(int, int) | Bewegt den Cursor zu einem Absatz im aktuellen Abschnitt. |
MoveToSection(int) | Verschiebt den Cursor an den Anfang des Textkörpers in einem angegebenen Abschnitt. |
MoveToStructuredDocumentTag(int, int) | Bewegt den Cursor zu einem strukturierten Dokument-Tag im aktuellen Abschnitt. |
MoveToStructuredDocumentTag(StructuredDocumentTag, int) | Bewegt den Cursor zum strukturierten Dokument-Tag. |
PopFont() | Ruft die zuvor auf dem Stapel gespeicherte Zeichenformatierung ab. |
PushFont() | Speichert die aktuelle Zeichenformatierung auf dem Stapel. |
StartBookmark(string) | Markiert die aktuelle Position im Dokument als Lesezeichenanfang. |
StartColumnBookmark(string) | Markiert die aktuelle Position im Dokument als Spaltenanfang. Die Position muss in einer Tabellenzelle liegen. |
StartEditableRange() | Markiert die aktuelle Position im Dokument als editierbaren Bereichsanfang. |
StartTable() | Beginnt eine Tabelle im Dokument. |
Write(string) | Fügt an der aktuellen Einfügeposition eine Zeichenfolge in das Dokument ein. |
Writeln() | Fügt einen Absatzumbruch in das Dokument ein. |
Writeln(string) | Fügt eine Zeichenfolge und einen Absatzumbruch in das Dokument ein. |
Bemerkungen
DocumentBuilder
macht den Prozess des Aufbaus einerDocument
einfacher. Document
ist ein zusammengesetztes Objekt, das aus einem Knotenbaum besteht. Obwohl das Einfügen von content Knoten direkt in den Baum möglich ist, erfordert dies ein gutes Verständnis der Baumstruktur. DocumentBuilder
ist eine “Fassade” für die komplexe Struktur vonDocument
und ermöglicht , Inhalte und Formatierungen schnell und einfach einzufügen.
Erstellen Sie einDocumentBuilder
und verknüpfen Sie es mit einemDocument
.
DerDocumentBuilder
hat einen internen Cursor, in den der Text eingefügt wird , wenn Sie aufrufenWrite
,Writeln
,InsertBreak
und andere Methoden. Sie können navigieren dieDocumentBuilder
Cursor mithilfe verschiedener MoveToXXX-Methoden an eine andere Position in einem Dokument verschieben.
Verwenden Sie dieFont
-Eigenschaft zum Festlegen der Zeichenformatierung, die auf allen Text angewendet wird, der ab der aktuellen Position im Dokument eingefügt wird.
Verwenden Sie dieParagraphFormat
-Eigenschaft, um die Absatzformatierung für current und alle Absätze anzugeben, die eingefügt werden.
Verwenden Sie diePageSetup
-Eigenschaft zum Angeben der Seiten- und Abschnittseigenschaften für den Abschnitt current und alle Abschnitte, die eingefügt werden.
Verwenden Sie dieCellFormat
UndRowFormat
Eigenschaften, um die Formatierungseigenschaften für Tabellenzellen und -zeilen anzugeben. Verwenden Sie dieInsertCell
und EndRow
Methoden zum Erstellen einer Tabelle.
Beachten Sie, dassFont
,ParagraphFormat
UndPageSetup
Eigenschaften werden aktualisiert, wenn Sie zu einer anderen Stelle im Dokument navigieren, um die an der neuen Position verfügbaren Formatierungseigenschaften widerzuspiegeln.
Beispiele
Zeigt, wie Sie mit einem Dokumentgenerator eine Tabelle erstellen.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Starten Sie die Tabelle und füllen Sie dann die erste Zeile mit zwei Zellen.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1.");
builder.InsertCell();
builder.Write("Row 1, Cell 2.");
// Rufen Sie die Methode „EndRow“ des Builders auf, um eine neue Zeile zu beginnen.
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");
Zeigt, wie Sie mit DocumentBuilder Kopf- und Fußzeilen in einem Dokument erstellen.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Geben Sie an, dass wir für die erste, die gerade und die ungerade Seite unterschiedliche Kopf- und Fußzeilen wünschen.
builder.PageSetup.DifferentFirstPageHeaderFooter = true;
builder.PageSetup.OddAndEvenPagesHeaderFooter = true;
// Erstellen Sie die Kopfzeilen und fügen Sie dem Dokument dann drei Seiten hinzu, um jeden Kopfzeilentyp anzuzeigen.
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");
Zeigt, wie eine Tabelle mit benutzerdefinierten Rändern erstellt wird.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.StartTable();
// Festlegen von Tabellenformatierungsoptionen für einen Dokumentgenerator
// wendet sie auf jede Zeile und Zelle an, die wir damit hinzufügen.
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();
// Das Ändern der Formatierung wird auf die aktuelle Zelle angewendet,
// und alle neuen Zellen, die wir anschließend mit dem Builder erstellen.
// Dies hat keine Auswirkungen auf die Zellen, die wir zuvor hinzugefügt haben.
builder.CellFormat.Shading.ClearFormatting();
builder.InsertCell();
builder.Write("Row 2, Col 1");
builder.InsertCell();
builder.Write("Row 2, Col 2");
builder.EndRow();
// Erhöhen Sie die Zeilenhöhe, damit der vertikale Text hineinpasst.
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");
Siehe auch
- namensraum Aspose.Words
- Montage Aspose.Words