DocumentBuilder

DocumentBuilder class

Ger metoder för att infoga text, bilder och annat innehåll, specificera 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.

Egenskaper

namnBeskrivning
Bold { get; set; }Sant om teckensnittet är formaterat med fet stil.
CellFormat { get; }Returnerar ett objekt som representerar aktuella tabellcellsformateringsegenskaper.
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 valt i dettaDocumentBuilder .
CurrentSection { get; }Hämtar avsnittet som för närvarande är valt i dettaDocumentBuilder .
CurrentStory { get; }Hämtar berättelsen som för närvarande är vald i dennaDocumentBuilder .
CurrentStructuredDocumentTag { get; }Hämtar den strukturerade dokumenttaggen som för närvarande är vald i dennaDocumentBuilder .
Document { get; set; }Hämtar eller ställer inDocumentobjekt som detta objekt är kopplat till.
Font { get; }Returnerar ett objekt som representerar aktuella teckensnittsformateringsegenskaper.
IsAtEndOfParagraph { get; }ReturnerarSann om markören är i slutet av det aktuella stycket.
IsAtEndOfStructuredDocumentTag { get; }ReturnerarSann om markören är i slutet av en strukturerad dokumenttagg.
IsAtStartOfParagraph { get; }ReturnerarSann om 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 kursivt.
ListFormat { get; }Returnerar ett objekt som representerar aktuella listformateringsegenskaper.
PageSetup { get; }Returnerar ett objekt som representerar aktuell siduppsättning och avsnittsegenskaper.
ParagraphFormat { get; }Returnerar ett objekt som representerar aktuella styckeformateringsegenskaper.
RowFormat { get; }Returnerar ett objekt som representerar aktuella tabellradsformateringsegenskaper.
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 kolumnbokmärkesslut. Positionen måste vara i en tabellcell.
EndEditableRange()Markerar den aktuella positionen i dokumentet som ett redigerbart intervallslut.
EndEditableRange(EditableRangeStart)Markerar den aktuella positionen i dokumentet som ett redigerbart intervallslut.
EndRow()Avslutar en tabellrad i dokumentet.
EndTable()Avslutar en tabell i dokumentet.
InsertBreak(BreakType)Infogar en brytning av angiven typ i dokumentet.
InsertCell()Infogar en tabellcell i dokumentet.
InsertChart(ChartType, double, double)Infogar ett diagramobjekt i dokumentet och skalar det till angiven storlek.
InsertChart(ChartTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar ett diagramobjekt i dokumentet och skalar det till angiven storlek.
InsertCheckBox(string, bool, int)Infogar ett kryssrutaformulär på den aktuella positionen.
InsertCheckBox(string, bool, bool, int)Infogar ett kryssrutaformulär på den aktuella positionen.
InsertComboBox(string, string[], int)Infogar ett formulärfält i kombinationsrutan på den aktuella positionen.
InsertDocument(DocumentImportFormatMode)Infogar ett dokument vid markörens position.
InsertDocument(DocumentImportFormatModeImportFormatOptions)Infogar ett dokument 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 eventuellt 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.
InsertHorizontalRule()Infogar en horisontell regelform 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. Tillåter 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 inline och i 100 % skala.
InsertImage(Image)Infogar en bild från ett .NETImage objekt i dokumentet. Bilden infogas inline och i 100 % skala.
InsertImage(Stream)Infogar en bild från en ström i dokumentet. Bilden infogas inline och i 100 % skala.
InsertImage(string)Infogar en bild från en fil eller URL i dokumentet. Bilden infogas inline och i 100 % skala.
InsertImage(byte[], double, double)Infogar en inline-bild från en byte-array i dokumentet och skalar den till den angivna storleken.
InsertImage(Image, double, double)Infogar en inline-bild från ett .NETImage objekt i dokumentet och skalar det till den angivna storleken.
InsertImage(Stream, double, double)Infogar en inline-bild från en ström i dokumentet och skalar den till den angivna storleken.
InsertImage(string, double, double)Infogar en inline-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 vid angiven position och storlek.
InsertImage(Image, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar en bild från ett .NETImage objekt vid angiven position och storlek.
InsertImage(Stream, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar en bild från en ström vid angiven position och storlek.
InsertImage(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar en bild från en fil eller URL på angiven position och storlek.
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. Upptäcker OLE-objekttyp med filtillägg.
InsertOleObject(string, string, bool, bool, Stream)Infogar ett inbäddat eller länkat OLE-objekt från en fil i dokumentet. Upptäcker OLE-objekttyp med hjälp av given progID-parameter.
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. Upptäcker 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. Tillåter att ange ikonfil och bildtext. Upptäcker OLE-objekttyp med filtillägg.
InsertOleObjectAsIcon(string, string, bool, string, string)Infogar ett inbäddat eller länkat OLE-objekt som ikon i dokumentet. Tillåter att ange ikonfil och bildtext. Upptäcker 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 inline form med angiven typ och storlek.
InsertShape(ShapeTypeRelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType)Infogar fritt svävande form med angiven position, storlek och typ av textbrytning.
InsertSignatureLine(SignatureLineOptions)Infogar en signaturrad vid den aktuella positionen.
InsertSignatureLine(SignatureLineOptionsRelativeHorizontalPosition, double, RelativeVerticalPosition, double, WrapType)Infogar en signaturrad vid den angivna positionen.
InsertStyleSeparator()Infogar stilavgränsare i dokumentet.
InsertTableOfContents(string)Infogar ett TOC-fält (innehållsförteckning) i dokumentet.
InsertTextInput(string, TextFormFieldType, string, string, int)Infogar ett textformulärfält på den aktuella positionen.
MoveTo(Node)Flyttar markören till en inline-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 en sidhuvud eller 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 brödtexten 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 i 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 vara 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 lättare. 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 kommer att infogas när du ringerWrite ,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ändFontegenskap för att ange teckenformatering som kommer att gälla för all text som infogas från den aktuella positionen i dokumentet och framåt.

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

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

AnvändCellFormat ochRowFormat egenskaper för att specificera formateringsegenskaper för tabellceller och rader. AnvänderInsertCell och EndRow metoder för att bygga en tabell.

Anteckna detFont ,ParagraphFormat ochPageSetup egenskaper uppdateras när 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 i 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.");

// Anrop 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 du skapar sidhuvuden och sidfötter i ett dokument med DocumentBuilder.

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

// Ange att vi vill ha olika sidhuvuden och sidfötter 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 bygger 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ämpa den på den aktuella cellen,
// och eventuella nya celler som vi skapar med byggaren efteråt.
// Detta kommer inte att påverka cellerna 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 så att den passar 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