DocumentBuilder
内容
[
隐藏
]DocumentBuilder class
提供插入文本、图像和其他内容、指定字体、段落和部分格式的方法。
要了解更多信息,请访问文档生成器概述文档文章。
public class DocumentBuilder
构造函数
姓名 | 描述 |
---|---|
DocumentBuilder() | 初始化此类的新实例。 |
DocumentBuilder(Document) | 初始化此类的新实例。 |
特性
姓名 | 描述 |
---|---|
Bold { get; set; } | 如果字体格式为粗体,则为 True。 |
CellFormat { get; } | 返回表示当前表格单元格格式属性的对象。 |
CurrentNode { get; } | 获取当前在此 DocumentBuilder 中选择的节点。 |
CurrentParagraph { get; } | 获取当前选中的段落DocumentBuilder . |
CurrentSection { get; } | 获取当前在此选择的部分DocumentBuilder . |
CurrentStory { get; } | 获取当前在此选择的故事DocumentBuilder . |
CurrentStructuredDocumentTag { get; } | 获取当前在此选择的结构化文档标签DocumentBuilder . |
Document { get; set; } | 获取或设置Document 该对象附加到的对象。 |
Font { get; } | 返回表示当前字体格式属性的对象。 |
IsAtEndOfParagraph { get; } | 返回真的 如果光标位于当前段落的末尾。 |
IsAtEndOfStructuredDocumentTag { get; } | 返回真的如果光标位于结构化文档标记的末尾。 |
IsAtStartOfParagraph { get; } | 返回真的 如果光标位于当前段落的开头(光标之前没有文本)。 |
Italic { get; set; } | 如果字体格式为斜体,则为 True。 |
ListFormat { get; } | 返回一个表示当前列表格式属性的对象。 |
PageSetup { get; } | 返回一个表示当前页面设置和节属性的对象。 |
ParagraphFormat { get; } | 返回一个表示当前段落格式属性的对象。 |
RowFormat { get; } | 返回一个表示当前表行格式属性的对象。 |
Underline { get; set; } | 获取/设置当前字体的下划线类型。 |
方法
姓名 | 描述 |
---|---|
DeleteRow(int, int) | 从表中删除一行。 |
EndBookmark(string) | 将文档中的当前位置标记为书签结束。 |
EndColumnBookmark(string) | 将文档中的当前位置标记为列书签末尾。该位置必须位于表格单元格中。 |
EndEditableRange() | 将文档中的当前位置标记为可编辑范围结束。 |
EndEditableRange(EditableRangeStart) | 将文档中的当前位置标记为可编辑范围结束。 |
EndRow() | 结束文档中的表格行。 |
EndTable() | 结束文档中的表格。 |
InsertBreak(BreakType) | 将指定类型的中断插入到文档中。 |
InsertCell() | 将表格单元格插入文档中。 |
InsertChart(ChartType, double, double) | 将图表对象插入到文档中并将其缩放至指定大小。 |
InsertChart(ChartType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | 将图表对象插入到文档中并将其缩放至指定大小。 |
InsertCheckBox(string, bool, int) | 在当前位置插入复选框表单字段。 |
InsertCheckBox(string, bool, bool, int) | 在当前位置插入复选框表单字段。 |
InsertComboBox(string, string[], int) | 在当前位置插入组合框表单字段。 |
InsertDocument(Document, ImportFormatMode) | 在光标位置插入文档。 |
InsertDocument(Document, ImportFormatMode, ImportFormatOptions) | 在光标位置插入文档。 |
InsertField(string) | 将 Word 字段插入文档并更新字段结果。 |
InsertField(FieldType, bool) | 将 Word 字段插入文档并可选择更新字段结果。 |
InsertField(string, string) | 将 Word 字段插入到文档中,而不更新字段结果。 |
InsertFootnote(FootnoteType, string) | 在文档中插入脚注或尾注。 |
InsertFootnote(FootnoteType, string, string) | 在文档中插入脚注或尾注。 |
InsertHorizontalRule() | 将水平标尺形状插入文档中。 |
InsertHtml(string) | 将 HTML 字符串插入文档中。 |
InsertHtml(string, bool) | 将 HTML 字符串插入文档中。 |
InsertHtml(string, HtmlInsertOptions) | 将 HTML 字符串插入到文档中。允许指定附加选项。 |
InsertHyperlink(string, string, bool) | 将超链接插入到文档中。 |
InsertImage(byte[]) | 将字节数组中的图像插入到文档中。图像以 100% 比例内嵌插入。 |
InsertImage(Image) | 插入来自 .NET 的图像Image 对象放入文档中。图像以 100% 比例内嵌插入。 |
InsertImage(Stream) | 将图像从流插入到文档中。图像以 100% 比例内嵌插入。 |
InsertImage(string) | 将文件或 URL 中的图像插入到文档中。图像以 100% 比例内嵌插入。 |
InsertImage(byte[], double, double) | 将字节数组中的内联图像插入到文档中并将其缩放到指定的大小。 |
InsertImage(Image, double, double) | 从 .NET 插入内嵌图像Image 对象放入文档中并将其缩放至指定大小。 |
InsertImage(Stream, double, double) | 将内嵌图像从流插入到文档中并将其缩放到指定的大小。 |
InsertImage(string, double, double) | 将文件或 URL 中的内嵌图像插入到文档中,并将其缩放到指定的大小。 |
InsertImage(byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | 在指定位置和大小处插入字节数组中的图像。 |
InsertImage(Image, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | 插入来自 .NET 的图像Image 指定位置和大小的对象。 |
InsertImage(Stream, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | 在指定位置和大小处插入流中的图像。 |
InsertImage(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | 在指定位置和大小插入文件或 URL 中的图像。 |
InsertNode(Node) | 在光标前插入一个节点。 |
InsertOleObject(Stream, string, bool, Stream) | 将嵌入的 OLE 对象从流插入到文档中。 |
InsertOleObject(string, bool, bool, Stream) | 将嵌入或链接的 OLE 对象从文件插入到文档中。使用文件扩展名检测 OLE 对象类型。 |
InsertOleObject(string, string, bool, bool, Stream) | 将嵌入或链接的 OLE 对象从文件插入到文档中。使用给定的 progID 参数检测 OLE 对象类型。 |
InsertOleObjectAsIcon(Stream, string, string, string) | 将嵌入的 OLE 对象作为图标从流插入到文档中。 允许指定图标文件和标题。使用给定的 progID 参数检测 OLE 对象类型。 |
InsertOleObjectAsIcon(string, bool, string, string) | 将嵌入或链接的 OLE 对象作为图标插入到文档中。 允许指定图标文件和标题。使用文件扩展名检测 OLE 对象类型。 |
InsertOleObjectAsIcon(string, string, bool, string, string) | 将嵌入或链接的 OLE 对象作为图标插入到文档中。 允许指定图标文件和标题。使用给定的 progID 参数检测 OLE 对象类型。 |
InsertOnlineVideo(string, double, double) | 将在线视频对象插入到文档中并将其缩放到指定的大小。 |
InsertOnlineVideo(string, string, byte[], double, double) | 将在线视频对象插入到文档中并将其缩放到指定的大小。 |
InsertOnlineVideo(string, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | 将在线视频对象插入到文档中并将其缩放到指定的大小。 |
InsertOnlineVideo(string, string, byte[], RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | 将在线视频对象插入到文档中并将其缩放到指定的大小。 |
InsertParagraph() | 在文档中插入段落分隔符。 |
InsertShape(ShapeType, double, double) | 插入指定类型和大小的内联形状。 |
InsertShape(ShapeType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | 插入具有指定位置、大小和文本换行类型的自由浮动形状。 |
InsertSignatureLine(SignatureLineOptions) | 在当前位置插入签名行。 |
InsertSignatureLine(SignatureLineOptions, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, WrapType) | 在指定位置插入签名行。 |
InsertStyleSeparator() | 将样式分隔符插入文档中。 |
InsertTableOfContents(string) | 将 TOC(目录)字段插入到文档中。 |
InsertTextInput(string, TextFormFieldType, string, string, int) | 在当前位置插入文本表单字段。 |
MoveTo(Node) | 将光标移动到内联节点或段落末尾。 |
MoveToBookmark(string) | 将光标移动到书签。 |
MoveToBookmark(string, bool, bool) | 以更高精度将光标移动到书签。 |
MoveToCell(int, int, int, int) | 将光标移动到当前部分中的表格单元格。 |
MoveToDocumentEnd() | 将光标移动到文档末尾。 |
MoveToDocumentStart() | 将光标移动到文档的开头。 |
MoveToField(Field, bool) | 将光标移动到文档中的字段。 |
MoveToHeaderFooter(HeaderFooterType) | 将光标移动到当前节中页眉或页脚的开头。 |
MoveToMergeField(string) | 将光标移动到指定合并字段之外的位置并删除合并字段。 |
MoveToMergeField(string, bool, bool) | 将合并字段移动到指定的合并字段。 |
MoveToParagraph(int, int) | 将光标移动到当前节中的段落。 |
MoveToSection(int) | 将光标移动到指定节中正文的开头。 |
MoveToStructuredDocumentTag(int, int) | 将光标移动到当前部分中的结构化文档标记。 |
MoveToStructuredDocumentTag(StructuredDocumentTag, int) | 将光标移至结构化文档标签。 |
PopFont() | 检索先前保存在堆栈上的字符格式。 |
PushFont() | 将当前字符格式保存到堆栈上。 |
StartBookmark(string) | 将文档中的当前位置标记为书签开始。 |
StartColumnBookmark(string) | 将文档中的当前位置标记为列书签开始。该位置必须位于表格单元格中。 |
StartEditableRange() | 将文档中的当前位置标记为可编辑范围开始。 |
StartTable() | 在文档中启动一个表格。 |
Write(string) | 将字符串插入到文档中的当前插入位置。 |
Writeln() | 在文档中插入段落分隔符。 |
Writeln(string) | 将字符串和分段符插入到文档中。 |
评论
DocumentBuilder
使得构建的过程Document
更容易. Document
是由节点树组成的复合对象,虽然可以将 content 节点直接插入树中,但需要很好地理解树结构。 DocumentBuilder
是复杂结构的“外观”Document
并允许 快速轻松地插入内容和格式。
创建一个DocumentBuilder
并将其与Document
。
这DocumentBuilder
有一个内部光标,当您调用时,文本将被插入 Write
,Writeln
,InsertBreak
和其他方法。您可以导航DocumentBuilder
使用各种 MoveToXXX 方法将光标移动到文档中的不同位置 。
使用Font
属性来指定字符格式,该格式将应用于 从文档中当前位置开始插入的所有文本。
使用ParagraphFormat
属性来指定 current 和所有将插入的段落的段落格式。
使用PageSetup
属性来指定 current 节和所有将插入的节的页面和节属性。
使用CellFormat
和RowFormat
属性来指定表单元格和行的 格式属性。用户InsertCell
和 EndRow
建表的方法。
注意Font
,ParagraphFormat
和PageSetup
只要 您导航到文档中的其他位置,属性就会更新,以反映新位置可用的格式属性。
例子
演示如何使用文档生成器创建表格。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// 启动表格,然后用两个单元格填充第一行。
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1.");
builder.InsertCell();
builder.Write("Row 1, Cell 2.");
// 调用构建器的“EndRow”方法来开始新行。
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");
演示如何使用 DocumentBuilder 在文档中创建页眉和页脚。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// 指定我们希望首页、偶数页和奇数页使用不同的页眉和页脚。
builder.PageSetup.DifferentFirstPageHeaderFooter = true;
builder.PageSetup.OddAndEvenPagesHeaderFooter = true;
// 创建标题,然后向文档添加三个页面以显示每种标题类型。
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");
演示如何构建具有自定义边框的表格。
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.StartTable();
// 为文档生成器设置表格格式选项
// 将它们应用到我们添加的每一行和单元格。
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();
// 更改格式会将其应用到当前单元格,
// 以及我们随后使用构建器创建的任何新单元格。
// 这不会影响我们之前添加的单元格。
builder.CellFormat.Shading.ClearFormatting();
builder.InsertCell();
builder.Write("Row 2, Col 1");
builder.InsertCell();
builder.Write("Row 2, Col 2");
builder.EndRow();
// 增加行高以适合垂直文本。
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");
也可以看看
- 命名空间 Aspose.Words
- 部件 Aspose.Words