DocumentBuilder
DocumentBuilder class
Предоставляет методы для вставки текста, изображений и другого контента, указания шрифта, форматирования абзацев и разделов.
Чтобы узнать больше, посетитеОбзор конструктора документов документальная статья.
public class DocumentBuilder
Конструкторы
| Имя | Описание |
|---|---|
| DocumentBuilder() | Инициализирует новый экземпляр этого класса. |
| DocumentBuilder(Document) | Инициализирует новый экземпляр этого класса. |
| DocumentBuilder(DocumentBuilderOptions) | Инициализирует новый экземпляр этого класса. |
| DocumentBuilder(Document, DocumentBuilderOptions) | Инициализирует новый экземпляр этого класса. |
Характеристики
| Имя | Описание |
|---|---|
| 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, double, double, ChartStyle) | Вставляет объект диаграммы в документ и масштабирует его до указанного размера. |
| InsertChart(ChartType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType) | Вставляет объект диаграммы в документ и масштабирует его до указанного размера. |
| InsertChart(ChartType, RelativeHorizontalPosition, double, RelativeVerticalPosition, double, double, double, WrapType, ChartStyle) | Вставляет объект диаграммы в документ и масштабирует его до указанного размера. |
| InsertCheckBox(string, bool, int) | Вставляет поле формы флажка в текущую позицию. |
| InsertCheckBox(string, bool, bool, int) | Вставляет поле формы флажка в текущую позицию. |
| InsertComboBox(string, string[], int) | Вставляет поле формы со списком в текущую позицию. |
| InsertDocument(Document, ImportFormatMode) | Вставляет документ в позицию курсора. |
| InsertDocument(Document, ImportFormatMode, ImportFormatOptions) | Вставляет документ в позицию курсора. |
| InsertDocumentInline(Document, ImportFormatMode, ImportFormatOptions) | Вставляет документ в позицию курсора. |
| InsertField(string) | Вставляет поле Word в документ и обновляет результат поля. |
| InsertField(FieldType, bool) | Вставляет поле Word в документ и при необходимости обновляет результат поля. |
| InsertField(string, string) | Вставляет поле Word в документ без обновления результата поля. |
| InsertFootnote(FootnoteType, string) | Вставляет сноску или концевую сноску в документ. |
| InsertFootnote(FootnoteType, string, string) | Вставляет сноску или концевую сноску в документ. |
| InsertForms2OleControl(Forms2OleControl) | ВставкиForms2OleControl объект в текущую позицию. |
| InsertGroupShape(params ShapeBase[]) | Группирует фигуры, переданные в качестве параметра, в новый узел GroupShape, который вставляется в текущую позицию. |
| InsertGroupShape(double, double, double, double, params ShapeBase[]) | Группирует фигуры, переданные в качестве параметра, в новый узел GroupShape указанного размера, который вставляется в указанную позицию. |
| InsertHorizontalRule() | Вставляет в документ горизонтальную линейку. |
| InsertHtml(string) | Вставляет HTML-строку в документ. |
| InsertHtml(string, bool) | Вставляет HTML-строку в документ. |
| InsertHtml(string, HtmlInsertOptions) | Вставляет HTML-строку в документ. Позволяет указать дополнительные параметры. |
| InsertHyperlink(string, string, bool) | Вставляет гиперссылку в документ. |
| InsertImage(byte[]) | Вставляет изображение из массива байтов в документ. Изображение вставляется в строку и в масштабе 100%. |
| InsertImage(Image) | Вставляет изображение из .NETImage Объект в документ. Изображение вставляется в строку и в масштабе 100%. |
| InsertImage(Stream) | Вставляет изображение из потока в документ. Изображение вставляется в строку и в масштабе 100%. |
| InsertImage(string) | Вставляет изображение из файла или URL в документ. Изображение вставляется в строку и в масштабе 100%. |
| InsertImage(byte[], double, double) | Вставляет встроенное изображение из байтового массива в документ и масштабирует его до указанного размера. |
| InsertImage(Image, double, double) | Вставляет встроенное изображение из .NETImage объект в документ и масштабирует его до указанного размера. |
| 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) | Вставляет изображение из .NETImage Объект в указанном положении и размере. |
| 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 из файла в документ. Определяет тип объекта OLE с использованием заданного параметра progID. |
| InsertOleObjectAsIcon(Stream, string, string, string) | Вставляет встроенный объект OLE как значок из потока в документ. Позволяет указать файл значка и подпись. Определяет тип объекта OLE с использованием заданного параметра progID. |
| InsertOleObjectAsIcon(string, bool, string, string) | Вставляет встроенный или связанный объект OLE как значок в документ. Позволяет указать файл значка и подпись. Определяет тип объекта OLE по расширению файла. |
| InsertOleObjectAsIcon(string, string, bool, string, string) | Вставляет встроенный или связанный объект OLE как значок в документ. Позволяет указать файл значка и подпись. Определяет тип объекта OLE с использованием заданного параметра progID. |
| 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) | Вставляет строку подписи в указанную позицию. |
| InsertStructuredDocumentTag(SdtType) | ВставляетStructuredDocumentTag в документ. |
| 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.
TheDocumentBuilder имеет внутренний курсор, куда будет вставлен текст при вызове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