DocumentBuilder

DocumentBuilder class

Tillhandahåller metoder för att infoga text, bilder och annat innehåll, ange teckensnitt, stycke- och avsnittsformatering.

För att lära dig mer, besökÖversikt över dokumentbyggaren dokumentationsartikel.

public class DocumentBuilder

Konstruktörer

namnBeskrivning
DocumentBuilder()Initierar en ny instans av den här klassen.
DocumentBuilder(Document)Initierar en ny instans av den här klassen.
DocumentBuilder(DocumentBuilderOptions)Initierar en ny instans av den här klassen.
DocumentBuilder(DocumentDocumentBuilderOptions)Initierar en ny instans av den här klassen.

Egenskaper

namnBeskrivning
Bold { get; set; }Sant om teckensnittet är formaterat som fetstil.
CellFormat { get; }Returnerar ett objekt som representerar aktuella formateringsegenskaper för tabellceller.
CurrentNode { get; }Hämtar noden som för närvarande är vald i denna DocumentBuilder.
CurrentParagraph { get; }Hämtar stycket som för närvarande är markerat i dettaDocumentBuilder .
CurrentSection { get; }Hämtar det avsnitt som för närvarande är valt i dettaDocumentBuilder .
CurrentStory { get; }Hämtar berättelsen som för närvarande är vald i dettaDocumentBuilder .
CurrentStructuredDocumentTag { get; }Hämtar den strukturerade dokumenttagg som för närvarande är vald i dettaDocumentBuilder .
Document { get; set; }Hämtar eller ställer inDocument objekt som detta objekt är kopplat till.
Font { get; }Returnerar ett objekt som representerar aktuella teckensnittsformateringsegenskaper.
IsAtEndOfParagraph { get; }Returersann om markören är i slutet av det aktuella stycket.
IsAtEndOfStructuredDocumentTag { get; }Returersann om markören är i slutet av en strukturerad dokumenttagg.
IsAtStartOfParagraph { get; }Returersannom markören är i början av det aktuella stycket (ingen text före markören).
Italic { get; set; }Sant om teckensnittet är formaterat som kursiv stil.
ListFormat { get; }Returnerar ett objekt som representerar aktuella listformateringsegenskaper.
PageSetup { get; }Returnerar ett objekt som representerar aktuell sidkonfiguration och sektionsegenskaper.
ParagraphFormat { get; }Returnerar ett objekt som representerar aktuella styckeformateringsegenskaper.
RowFormat { get; }Returnerar ett objekt som representerar formateringsegenskaper för aktuell tabellrad.
Underline { get; set; }Hämtar/ställer in understrykningstyp för det aktuella teckensnittet.

Metoder

namnBeskrivning
DeleteRow(int, int)Tar bort en rad från en tabell.
EndBookmark(string)Markerar den aktuella positionen i dokumentet som ett bokmärkesslut.
EndColumnBookmark(string)Markerar den aktuella positionen i dokumentet som ett bokmärkesslut för kolumner. Positionen måste vara i en tabellcell.
EndEditableRange()Markerar den aktuella positionen i dokumentet som ett redigerbart områdesslut.
EndEditableRange(EditableRangeStart)Markerar den aktuella positionen i dokumentet som ett redigerbart områdesslut.
EndRow()Avslutar en tabellrad i dokumentet.
EndTable()Avslutar en tabell i dokumentet.
InsertBreak(BreakType)Infogar en brytning av den angivna typen i dokumentet.
InsertCell()Infogar en tabellcell i dokumentet.
InsertChart(ChartType, double, double)Infogar ett diagramobjekt i dokumentet och skalar det till den angivna storleken.
InsertChart(ChartType, double, double, ChartStyle)Infogar ett diagramobjekt i dokumentet och skalar det till den angivna storleken.
InsertChart(ChartTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar ett diagramobjekt i dokumentet och skalar det till den angivna storleken.
InsertChart(ChartTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapTypeChartStyle)Infogar ett diagramobjekt i dokumentet och skalar det till den angivna storleken.
InsertCheckBox(string, bool, int)Infogar ett kryssrutefält på aktuell position.
InsertCheckBox(string, bool, bool, int)Infogar ett kryssrutefält på aktuell position.
InsertComboBox(string, string[], int)Infogar ett kombinationsfält för formuläret på den aktuella positionen.
InsertDocument(DocumentImportFormatMode)Infogar ett dokument vid markörens position.
InsertDocument(DocumentImportFormatModeImportFormatOptions)Infogar ett dokument vid markörens position.
InsertDocumentInline(DocumentImportFormatModeImportFormatOptions)Infogar ett dokument inbäddat vid markörens position.
InsertField(string)Infogar ett Word-fält i ett dokument och uppdaterar fältresultatet.
InsertField(FieldType, bool)Infogar ett Word-fält i ett dokument och uppdaterar valfritt fältresultatet.
InsertField(string, string)Infogar ett Word-fält i ett dokument utan att uppdatera fältresultatet.
InsertFootnote(FootnoteType, string)Infogar en fotnot eller slutnot i dokumentet.
InsertFootnote(FootnoteType, string, string)Infogar en fotnot eller slutnot i dokumentet.
InsertForms2OleControl(Forms2OleControl)InsatserForms2OleControl objekt till aktuell position.
InsertGroupShape(params ShapeBase[])Grupperar de former som skickas som en parameter till en ny GroupShape-nod som infogas i den aktuella positionen.
InsertGroupShape(double, double, double, double, params ShapeBase[])Grupperar de former som skickas som en parameter till en ny GroupShape-nod med den angivna storleken som infogas på den angivna positionen.
InsertHorizontalRule()Infogar en horisontell linjeform i dokumentet.
InsertHtml(string)Infogar en HTML-sträng i dokumentet.
InsertHtml(string, bool)Infogar en HTML-sträng i dokumentet.
InsertHtml(string, HtmlInsertOptions)Infogar en HTML-sträng i dokumentet. Gör det möjligt att ange ytterligare alternativ.
InsertHyperlink(string, string, bool)Infogar en hyperlänk i dokumentet.
InsertImage(byte[])Infogar en bild från en byte-array i dokumentet. Bilden infogas i rad och med 100 % skala.
InsertImage(Image)Infogar en bild från ett .NET-systemImage objekt i dokumentet. Bilden infogas i linje och i 100 % skala.
InsertImage(Stream)Infogar en bild från en ström i dokumentet. Bilden infogas i linje och med 100 % skala.
InsertImage(string)Infogar en bild från en fil eller URL i dokumentet. Bilden infogas i rad och i 100 % skala.
InsertImage(byte[], double, double)Infogar en inbäddad bild från en byte-array i dokumentet och skalar den till den angivna storleken.
InsertImage(Image, double, double)Infogar en inbäddad bild från ett .NET-systemImage objekt i dokumentet och skalar det till den angivna storleken.
InsertImage(Stream, double, double)Infogar en inbäddad bild från en ström i dokumentet och skalar den till den angivna storleken.
InsertImage(string, double, double)Infogar en inbäddad bild från en fil eller URL i dokumentet och skalar den till den angivna storleken.
InsertImage(byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar en bild från en byte-array på den angivna positionen och storleken.
InsertImage(Image, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar en bild från ett .NET-systemImage objekt på den angivna positionen och storleken.
InsertImage(Stream, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar en bild från en ström på den angivna positionen och i den angivna storleken.
InsertImage(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar en bild från en fil eller URL på den angivna positionen och i den angivna storleken.
InsertNode(Node)Infogar en nod före markören.
InsertOleObject(Stream, string, bool, Stream)Infogar ett inbäddat OLE-objekt från en ström i dokumentet.
InsertOleObject(string, bool, bool, Stream)Infogar ett inbäddat eller länkat OLE-objekt från en fil i dokumentet. Identifierar OLE-objekttyp med hjälp av filändelsen.
InsertOleObject(string, string, bool, bool, Stream)Infogar ett inbäddat eller länkat OLE-objekt från en fil i dokumentet. Identifierar OLE-objekttypen med hjälp av den givna progID-parametern.
InsertOleObjectAsIcon(Stream, string, string, string)Infogar ett inbäddat OLE-objekt som ikon från en ström i dokumentet. Tillåter att ange ikonfil och bildtext. Identifierar OLE-objekttyp med hjälp av given progID-parameter.
InsertOleObjectAsIcon(string, bool, string, string)Infogar ett inbäddat eller länkat OLE-objekt som ikon i dokumentet. Gör det möjligt att ange ikonfil och bildtext. Identifierar OLE-objekttyp med hjälp av filändelsen.
InsertOleObjectAsIcon(string, string, bool, string, string)Infogar ett inbäddat eller länkat OLE-objekt som ikon i dokumentet. Gör det möjligt att ange ikonfil och bildtext. Identifierar OLE-objekttyp med hjälp av given progID-parameter.
InsertOnlineVideo(string, double, double)Infogar ett onlinevideoobjekt i dokumentet och skalar det till den angivna storleken.
InsertOnlineVideo(string, string, byte[], double, double)Infogar ett onlinevideoobjekt i dokumentet och skalar det till den angivna storleken.
InsertOnlineVideo(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar ett onlinevideoobjekt i dokumentet och skalar det till den angivna storleken.
InsertOnlineVideo(string, string, byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar ett onlinevideoobjekt i dokumentet och skalar det till den angivna storleken.
InsertParagraph()Infogar en styckebrytning i dokumentet.
InsertShape(ShapeType, double, double)Infogar inbäddad form med angiven typ och storlek.
InsertShape(ShapeTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar fritt flytande form med angiven position, storlek och radbrytningstyp.
InsertSignatureLine(SignatureLineOptions)Infogar en signaturrad vid den aktuella positionen.
InsertSignatureLine(SignatureLineOptionsRelativeHorizontalPosition, double, RelativeVerticalPosition, double, WrapType)Infogar en signaturrad på den angivna positionen.
InsertStructuredDocumentTag(SdtType)Infogar enStructuredDocumentTag in i dokumentet.
InsertStyleSeparator()Infogar stilavgränsare i dokumentet.
InsertTableOfContents(string)Infogar ett innehållsförteckningsfält i dokumentet.
InsertTextInput(string, TextFormFieldType, string, string, int)Infogar ett textformulärfält på den aktuella positionen.
MoveTo(Node)Flyttar markören till en inbäddad nod eller till slutet av ett stycke.
MoveToBookmark(string)Flyttar markören till ett bokmärke.
MoveToBookmark(string, bool, bool)Flyttar markören till ett bokmärke med större precision.
MoveToCell(int, int, int, int)Flyttar markören till en tabellcell i det aktuella avsnittet.
MoveToDocumentEnd()Flyttar markören till slutet av dokumentet.
MoveToDocumentStart()Flyttar markören till början av dokumentet.
MoveToField(Field, bool)Flyttar markören till ett fält i dokumentet.
MoveToHeaderFooter(HeaderFooterType)Flyttar markören till början av ett sidhuvud eller en sidfot i det aktuella avsnittet.
MoveToMergeField(string)Flyttar markören till en position strax bortom det angivna kopplingsfältet och tar bort kopplingsfältet.
MoveToMergeField(string, bool, bool)Flyttar kopplingsfältet till det angivna kopplingsfältet.
MoveToParagraph(int, int)Flyttar markören till ett stycke i det aktuella avsnittet.
MoveToSection(int)Flyttar markören till början av texten i ett angivet avsnitt.
MoveToStructuredDocumentTag(int, int)Flyttar markören till en strukturerad dokumenttagg i det aktuella avsnittet.
MoveToStructuredDocumentTag(StructuredDocumentTag, int)Flyttar markören till den strukturerade dokumenttaggen.
PopFont()Hämtar teckenformatering som tidigare sparats på stacken.
PushFont()Sparar aktuell teckenformatering i stacken.
StartBookmark(string)Markerar den aktuella positionen i dokumentet som en bokmärkesstart.
StartColumnBookmark(string)Markerar den aktuella positionen i dokumentet som en kolumnbokmärkesstart. Positionen måste finnas i en tabellcell.
StartEditableRange()Markerar den aktuella positionen i dokumentet som en redigerbar intervallstart.
StartTable()Startar en tabell i dokumentet.
Write(string)Infogar en sträng i dokumentet vid den aktuella infogningspositionen.
Writeln()Infogar en styckebrytning i dokumentet.
Writeln(string)Infogar en sträng och en styckebrytning i dokumentet.

Anmärkningar

DocumentBuilder gör processen att bygga enDocument enklare. Document är ett sammansatt objekt som består av ett träd av noder och även om det är möjligt att infoga content -noder direkt i trädet kräver det god förståelse för trädstrukturen. DocumentBuilder är en “fasad” för den komplexa strukturen avDocument och låter infoga innehåll och formatering snabbt och enkelt.

Skapa enDocumentBuilder och associera det med enDocument.

DeDocumentBuilder har en intern markör där texten infogas när du anroparWrite ,Writeln ,InsertBreak och andra metoder. Du kan navigera iDocumentBuilder markören till en annan plats i ett dokument med hjälp av olika MoveToXXX-metoder.

AnvändFont egenskap för att ange teckenformatering som ska tillämpas på all text som infogas från den aktuella positionen i dokumentet och framåt.

AnvändParagraphFormat egenskap för att ange styckeformatering för current och alla stycken som ska infogas.

AnvändPageSetup egenskap för att ange sid- och avsnittsegenskaper för avsnittet current och alla avsnitt som ska infogas.

AnvändCellFormat ochRowFormat egenskaper för att ange formateringsegenskaper för tabellceller och rader i . AnvändInsertCell och EndRow metoder för att bygga en tabell.

Observera attFont ,ParagraphFormat ochPageSetup Egenskaperna uppdateras varje gång du navigerar till en annan plats i dokumentet för att återspegla formateringsegenskaper som är tillgängliga på den nya platsen.

Exempel

Visar hur man använder en dokumentbyggare för att skapa en tabell.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Starta tabellen och fyll sedan den första raden med två celler.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1.");
builder.InsertCell();
builder.Write("Row 1, Cell 2.");

// Anropa byggarens "EndRow"-metod för att starta en ny rad.
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");

Visar hur man skapar sidhuvuden och sidfot i ett dokument med hjälp av DocumentBuilder.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Ange att vi vill ha olika sidhuvuden och sidfot för första, jämna och udda sidor.
builder.PageSetup.DifferentFirstPageHeaderFooter = true;
builder.PageSetup.OddAndEvenPagesHeaderFooter = true;

// Skapa rubrikerna och lägg sedan till tre sidor i dokumentet för att visa varje rubriktyp.
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");

Visar hur man skapar en tabell med anpassade ramar.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.StartTable();

// Ställa in tabellformateringsalternativ för en dokumentbyggare
// kommer att tillämpa dem på varje rad och cell som vi lägger till med den.
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();

// Ändring av formateringen kommer att tillämpas på den aktuella cellen,
// och alla nya celler som vi skapar med byggaren efteråt.
// Detta kommer inte att påverka de celler som vi har lagt till tidigare.
builder.CellFormat.Shading.ClearFormatting();

builder.InsertCell();
builder.Write("Row 2, Col 1");

builder.InsertCell();
builder.Write("Row 2, Col 2");

builder.EndRow();

// Öka radhöjden för att få plats med den vertikala texten.
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");

Se även