Класс Aspose::Words::DocumentBuilder
DocumentBuilder class
Предоставляет методы для вставки текста, изображений и другого содержимого, указания шрифта, форматирования абзацев и разделов. Чтобы узнать больше, посетите статью документации Document Builder Overview.
class DocumentBuilder : public Aspose::Words::IRunAttrSource,
public Aspose::Words::IParaAttrSource,
public Aspose::Words::IRowAttrSource,
public Aspose::Words::ICellAttrSource
Методы
| Метод | Описание |
|---|---|
| DeleteRow(int32_t, int32_t) | Удаляет строку из таблицы. |
| DocumentBuilder() | Инициализирует новый экземпляр этого класса. |
| DocumentBuilder(const System::SharedPtr<Aspose::Words::DocumentBuilderOptions>&) | Инициализирует новый экземпляр этого класса. |
| DocumentBuilder(const System::SharedPtr<Aspose::Words::Document>&) | Инициализирует новый экземпляр этого класса. |
| DocumentBuilder(const System::SharedPtr<Aspose::Words::Document>&, const System::SharedPtr<Aspose::Words::DocumentBuilderOptions>&) | Инициализирует новый экземпляр этого класса. |
| EndBookmark(const System::String&) | Помечает текущую позицию в документе как конец закладки. |
| EndColumnBookmark(const System::String&) | Помечает текущую позицию в документе как конец закладки столбца. Позиция должна находиться в ячейке таблицы. |
| EndEditableRange() | Помечает текущую позицию в документе как конец редактируемого диапазона. |
| EndEditableRange(const System::SharedPtr<Aspose::Words::EditableRangeStart>&) | Помечает текущую позицию в документе как конец редактируемого диапазона. |
| EndRow() | Завершает строку таблицы в документе. |
| EndTable() | Завершает таблицу в документе. |
| get_Bold() | True, если шрифт оформлен как полужирный. |
| get_CellFormat() | Возвращает объект, представляющий текущие свойства форматирования ячейки таблицы. |
| get_CurrentNode() | Получает узел, который в данный момент выбран в этом DocumentBuilder. |
| get_CurrentParagraph() | Получает абзац, который в данный момент выбран в этом DocumentBuilder. |
| get_CurrentSection() | Получает раздел, который в данный момент выбран в этом DocumentBuilder. |
| get_CurrentStory() | Получает историю, которая в данный момент выбрана в этом DocumentBuilder. |
| get_CurrentStructuredDocumentTag() | Получает структурированный тег документа, который в данный момент выбран в этом DocumentBuilder. |
| get_Document() const | Получает или задает объект Document, к которому прикреплен данный объект. |
| get_Font() | Возвращает объект, представляющий текущие свойства форматирования шрифта. |
| get_IsAtEndOfParagraph() | Возвращает true, если курсор находится в конце текущего абзаца. |
| get_IsAtEndOfStructuredDocumentTag() | Возвращает true, если курсор находится в конце структурированного тега документа. |
| get_IsAtStartOfParagraph() | Возвращает true, если курсор находится в начале текущего абзаца (текст перед курсором отсутствует). |
| get_Italic() | True, если шрифт оформлен курсивом. |
| get_ListFormat() | Возвращает объект, представляющий текущие свойства форматирования списка. |
| get_PageSetup() | Возвращает объект, представляющий текущие настройки страницы и свойства раздела. |
| get_ParagraphFormat() | Возвращает объект, представляющий текущие свойства форматирования абзаца. |
| get_RowFormat() | Возвращает объект, представляющий текущие свойства форматирования строки таблицы. |
| get_Underline() | Получает/устанавливает тип подчеркивания для текущего шрифта. |
| GetType() const override | |
| InsertBreak(Aspose::Words::BreakType) | Вставляет разрыв указанного типа в документ. |
| InsertCell() | Вставляет ячейку таблицы в документ. |
| InsertChart(Aspose::Words::Drawing::Charts::ChartType, double, double) | Вставляет объект диаграммы в документ и масштабирует его до указанного размера. |
| InsertChart(Aspose::Words::Drawing::Charts::ChartType, double, double, Aspose::Words::Drawing::Charts::ChartStyle) | Вставляет объект диаграммы в документ и масштабирует его до указанного размера. |
| InsertChart(Aspose::Words::Drawing::Charts::ChartType, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | Вставляет объект диаграммы в документ и масштабирует его до указанного размера. |
| InsertChart(Aspose::Words::Drawing::Charts::ChartType, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType, Aspose::Words::Drawing::Charts::ChartStyle) | Вставляет объект диаграммы в документ и масштабирует его до указанного размера. |
| InsertCheckBox(const System::String&, bool, int32_t) | Вставляет поле формы с флажком в текущую позицию. |
| InsertCheckBox(const System::String&, bool, bool, int32_t) | Вставляет поле формы с флажком в текущую позицию. |
| InsertComboBox(const System::String&, const System::ArrayPtr<System::String>&, int32_t) | Вставляет поле формы с выпадающим списком в текущую позицию. |
| InsertDocument(const System::SharedPtr<Aspose::Words::Document>&, Aspose::Words::ImportFormatMode) | Вставляет документ в позицию курсора. |
| InsertDocument(const System::SharedPtr<Aspose::Words::Document>&, Aspose::Words::ImportFormatMode, const System::SharedPtr<Aspose::Words::ImportFormatOptions>&) | Вставляет документ в позицию курсора. |
| InsertDocumentInline(const System::SharedPtr<Aspose::Words::Document>&, Aspose::Words::ImportFormatMode, const System::SharedPtr<Aspose::Words::ImportFormatOptions>&) | Вставляет документ встроенно в позицию курсора. |
| InsertField(Aspose::Words::Fields::FieldType, bool) | Вставляет поле Word в документ и при необходимости обновляет результат поля. |
| InsertField(const System::String&) | Вставляет поле Word в документ и обновляет результат поля. |
| InsertField(const System::String&, const System::String&) | Вставляет поле Word в документ без обновления результата поля. |
| InsertFootnote(Aspose::Words::Notes::FootnoteType, const System::String&) | Вставляет сноску или концевую сноску в документ. |
| InsertFootnote(Aspose::Words::Notes::FootnoteType, const System::String&, const System::String&) | Вставляет сноску или концевую сноску в документ. |
| InsertForms2OleControl(const System::SharedPtr<Aspose::Words::Drawing::Ole::Forms2OleControl>&) | Вставляет объект Forms2OleControl в текущую позицию. |
| InsertGroupShape(const System::ArrayPtr<System::SharedPtr<Aspose::Words::Drawing::ShapeBase>>&) | Группирует переданные в параметре фигуры в новый узел GroupShape, который вставляется в текущую позицию. |
| InsertGroupShape(double, double, double, double, const System::ArrayPtr<System::SharedPtr<Aspose::Words::Drawing::ShapeBase>>&) | Группирует переданные в параметре фигуры в новый узел GroupShape указанного размера, который вставляется в указанную позицию. |
| InsertHorizontalRule() | Вставляет форму горизонтальной линии в документ. |
| InsertHtml(const System::String&) | Вставляет строку HTML в документ. |
| InsertHtml(const System::String&, bool) | Вставляет строку HTML в документ. |
| InsertHtml(const System::String&, Aspose::Words::HtmlInsertOptions) | Вставляет строку HTML в документ. Позволяет указать дополнительные параметры. |
| InsertHyperlink(const System::String&, const System::String&, bool) | Вставляет гиперссылку в документ. |
| InsertImage(const System::SharedPtr<System::Drawing::Image>&) | Вставляет изображение из объекта Image в документ. Изображение вставляется встроенно и с масштабом 100%. |
| InsertImage(const System::String&) | Вставляет изображение из файла или URL в документ. Изображение вставляется встроенно и с масштабом 100%. |
| InsertImage(const System::SharedPtr<System::IO::Stream>&) | Вставляет изображение из потока в документ. Изображение вставляется встроенно и с масштабом 100%. |
| InsertImage(const System::ArrayPtr<uint8_t>&) | Вставляет изображение из массива байтов в документ. Изображение вставляется встроенно и с масштабом 100%. |
| InsertImage(const System::SharedPtr<System::Drawing::Image>&, double, double) | Вставляет встроенное изображение из объекта Image в документ и масштабирует его до указанного размера. |
| InsertImage(const System::String&, double, double) | Вставляет встроенное изображение из файла или URL в документ и масштабирует его до указанного размера. |
| InsertImage(const System::SharedPtr<System::IO::Stream>&, double, double) | Вставляет встроенное изображение из потока в документ и масштабирует его до указанного размера. |
| InsertImage(const System::ArrayPtr<uint8_t>&, double, double) | Вставляет встроенное изображение из массива байтов в документ и масштабирует его до указанного размера. |
| InsertImage(const System::SharedPtr<System::Drawing::Image>&, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | Вставляет изображение из объекта Image в указанную позицию и размер. |
| InsertImage(const System::String&, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | Вставляет изображение из файла или URL в указанную позицию и размер. |
| InsertImage(const System::SharedPtr<System::IO::Stream>&, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | Вставляет изображение из потока в указанную позицию и размер. |
| InsertImage(const System::ArrayPtr<uint8_t>&, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | Вставляет изображение из массива байтов в указанную позицию и размер. |
| InsertImage(std::basic_istream<CharType, Traits>&) | |
| InsertImage(std::basic_istream<CharType, Traits>&, double, double) | |
| InsertImage(std::basic_istream<CharType, Traits>&, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | |
| InsertNode(const System::SharedPtr<Aspose::Words::Node>&) | Вставляет узел перед курсором. |
| InsertOleObject(const System::SharedPtr<System::IO::Stream>&, const System::String&, bool, const System::SharedPtr<System::IO::Stream>&) | Вставляет встроенный объект OLE из потока в документ. |
| InsertOleObject(const System::String&, bool, bool, const System::SharedPtr<System::IO::Stream>&) | Вставляет встроенный или связанный объект OLE из файла в документ. Определяет тип объекта OLE с помощью расширения файла. |
| InsertOleObject(const System::String&, const System::String&, bool, bool, const System::SharedPtr<System::IO::Stream>&) | Вставляет встроенный или связанный объект OLE из файла в документ. Определяет тип объекта OLE с помощью указанного параметра progID. |
| InsertOleObject(std::basic_istream<CharType, Traits>&, System::String, bool, std::basic_istream<CharType, Traits>&) | |
| InsertOleObject(System::String, bool, bool, std::basic_istream<CharType, Traits>&) | |
| InsertOleObject(System::String, System::String, bool, bool, std::basic_istream<CharType, Traits>&) | |
| InsertOleObjectAsIcon(const System::String&, bool, const System::String&, const System::String&) | Вставляет встроенный или связанный объект OLE в виде значка в документ. Позволяет указать файл значка и подпись. Определяет тип объекта OLE с помощью расширения файла. |
| InsertOleObjectAsIcon(const System::String&, const System::String&, bool, const System::String&, const System::String&) | Вставляет встроенный или связанный объект OLE в виде значка в документ. Позволяет указать файл значка и подпись. Определяет тип объекта OLE с помощью указанного параметра progID. |
| InsertOleObjectAsIcon(const System::SharedPtr<System::IO::Stream>&, const System::String&, const System::String&, const System::String&) | Вставляет встроенный объект OLE в виде значка из потока в документ. Позволяет указать файл значка и подпись. Определяет тип объекта OLE с помощью указанного параметра progID. |
| InsertOleObjectAsIcon(std::basic_istream<CharType, Traits>&, System::String, System::String, System::String) | |
| InsertOnlineVideo(const System::String&, double, double) | Вставляет онлайн‑видео объект в документ и масштабирует его до указанного размера. |
| InsertOnlineVideo(const System::String&, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | Вставляет онлайн‑видео объект в документ и масштабирует его до указанного размера. |
| InsertOnlineVideo(const System::String&, const System::String&, const System::ArrayPtr<uint8_t>&, double, double) | Вставляет онлайн‑видео объект в документ и масштабирует его до указанного размера. |
| InsertOnlineVideo(const System::String&, const System::String&, const System::ArrayPtr<uint8_t>&, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | Вставляет онлайн‑видео объект в документ и масштабирует его до указанного размера. |
| InsertParagraph() | Вставляет разрыв абзаца в документ. |
| InsertShape(Aspose::Words::Drawing::ShapeType, double, double) | Вставляет встроенную форму с указанным типом и размером. |
| InsertShape(Aspose::Words::Drawing::ShapeType, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, double, double, Aspose::Words::Drawing::WrapType) | Вставляет плавающую форму с указанным положением, размером и типом обтекания текста. |
| InsertSignatureLine(const System::SharedPtr<Aspose::Words::SignatureLineOptions>&) | Вставляет строку подписи в текущую позицию. |
| InsertSignatureLine(const System::SharedPtr<Aspose::Words::SignatureLineOptions>&, Aspose::Words::Drawing::RelativeHorizontalPosition, double, Aspose::Words::Drawing::RelativeVerticalPosition, double, Aspose::Words::Drawing::WrapType) | Вставляет строку подписи в указанную позицию. |
| InsertStructuredDocumentTag(Aspose::Words::Markup::SdtType) | Вставляет StructuredDocumentTag в документ. |
| InsertStyleSeparator() | Вставляет разделитель стилей в документ. |
| InsertTableOfContents(const System::String&) | Вставляет поле TOC (оглавление) в документ. |
| InsertTextInput(const System::String&, Aspose::Words::Fields::TextFormFieldType, const System::String&, const System::String&, int32_t) | Вставляет текстовое поле формы в текущую позицию. |
| Is(const System::TypeInfo&) const override | |
| MoveTo(const System::SharedPtr<Aspose::Words::Node>&) | Перемещает курсор к встроенному узлу или в конец абзаца. |
| MoveToBookmark(const System::String&) | Перемещает курсор к закладке. |
| MoveToBookmark(const System::String&, bool, bool) | Перемещает курсор к закладке с большей точностью. |
| MoveToCell(int32_t, int32_t, int32_t, int32_t) | Перемещает курсор к ячейке таблицы в текущем разделе. |
| MoveToDocumentEnd() | Перемещает курсор в конец документа. |
| MoveToDocumentStart() | Перемещает курсор в начало документа. |
| MoveToField(const System::SharedPtr<Aspose::Words::Fields::Field>&, bool) | Перемещает курсор к полю в документе. |
| MoveToHeaderFooter(Aspose::Words::HeaderFooterType) | Перемещает курсор в начало колонтитула или нижнего колонтитула в текущем разделе. |
| MoveToMergeField(const System::String&) | Перемещает курсор в позицию сразу после указанного поля слияния и удаляет поле слияния. |
| MoveToMergeField(const System::String&, bool, bool) | Перемещает поле слияния в указанное поле слияния. |
| MoveToParagraph(int32_t, int32_t) | Перемещает курсор к абзацу в текущем разделе. |
| MoveToSection(int32_t) | Перемещает курсор в начало тела в указанном разделе. |
| MoveToStructuredDocumentTag(int32_t, int32_t) | Перемещает курсор к структурному тегу документа в текущем разделе. |
| MoveToStructuredDocumentTag(const System::SharedPtr<Aspose::Words::Markup::StructuredDocumentTag>&, int32_t) | Перемещает курсор к структурному тегу документа. |
| PopFont() | Получает форматирование символов, ранее сохранённое в стеке. |
| PushFont() | Сохраняет текущее форматирование символов в стек. |
| set_Bold(bool) | Сеттер для Aspose::Words::DocumentBuilder::get_Bold. |
| set_Document(const System::SharedPtr<Aspose::Words::Document>&) | Сеттер для Aspose::Words::DocumentBuilder::get_Document. |
| set_Italic(bool) | Сеттер для Aspose::Words::DocumentBuilder::get_Italic. |
| set_Underline(Aspose::Words::Underline) | Сеттер для Aspose::Words::DocumentBuilder::get_Underline. |
| StartBookmark(const System::String&) | Помечает текущую позицию в документе как начало закладки. |
| StartColumnBookmark(const System::String&) | Помечает текущую позицию в документе как начало столбцовой закладки. Позиция должна находиться в ячейке таблицы. |
| StartEditableRange() | Помечает текущую позицию в документе как начало редактируемого диапазона. |
| StartTable() | Начинает таблицу в документе. |
| static Type() | |
| Write(const System::String&) | Вставляет строку в документ в текущую позицию вставки. |
| Writeln(const System::String&) | Вставляет строку и разрыв абзаца в документ. |
| Writeln() | Вставляет разрыв абзаца в документ. |
Примечания
DocumentBuilder makes the process of building a Document easier. Document is a composite object consisting of a tree of nodes and while inserting content nodes directly into the tree is possible, it requires good understanding of the tree structure. DocumentBuilder is a “facade” for the complex structure of Document and allows to insert content and formatting quickly and easily.
Создайте DocumentBuilder и свяжите его с Document.
У DocumentBuilder есть внутренний курсор, в который будет вставляться текст при вызове Write(), Writeln(), InsertBreak() и других методов. Вы можете перемещать курсор DocumentBuilder в другое место документа, используя различные методы MoveToXXX.
Используйте свойство Font для указания форматирования символов, которое будет применяться ко всему тексту, вставляемому с текущей позиции в документе и далее.
Используйте свойство ParagraphFormat для указания форматирования абзацев для текущего и всех последующих вставляемых абзацев.
Используйте свойство PageSetup для указания параметров страницы и раздела для текущего раздела и всех последующих вставляемых разделов.
Используйте свойства CellFormat и RowFormat для указания параметров форматирования ячеек таблицы и строк. Используйте методы InsertCell и EndRow для построения таблицы.
Обратите внимание, что свойства Font, ParagraphFormat и PageSetup обновляются каждый раз, когда вы перемещаетесь в другое место документа, чтобы отразить доступные в новой позиции параметры форматирования.
Примеры
Показывает, как построить таблицу с пользовательскими границами.
auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);
builder->StartTable();
// Установка параметров форматирования таблицы для DocumentBuilder
// будет применять их к каждой строке и ячейке, которые мы добавляем с его помощью.
builder->get_ParagraphFormat()->set_Alignment(Aspose::Words::ParagraphAlignment::Center);
builder->get_CellFormat()->ClearFormatting();
builder->get_CellFormat()->set_Width(150);
builder->get_CellFormat()->set_VerticalAlignment(Aspose::Words::Tables::CellVerticalAlignment::Center);
builder->get_CellFormat()->get_Shading()->set_BackgroundPatternColor(System::Drawing::Color::get_GreenYellow());
builder->get_CellFormat()->set_WrapText(false);
builder->get_CellFormat()->set_FitText(true);
builder->get_RowFormat()->ClearFormatting();
builder->get_RowFormat()->set_HeightRule(Aspose::Words::HeightRule::Exactly);
builder->get_RowFormat()->set_Height(50);
builder->get_RowFormat()->get_Borders()->set_LineStyle(Aspose::Words::LineStyle::Engrave3D);
builder->get_RowFormat()->get_Borders()->set_Color(System::Drawing::Color::get_Orange());
builder->InsertCell();
builder->Write(u"Row 1, Col 1");
builder->InsertCell();
builder->Write(u"Row 1, Col 2");
builder->EndRow();
// Изменение форматирования будет применено к текущей ячейке,
// и к любым новым ячейкам, которые мы создаём с помощью билдера позже.
// Это не повлияет на ячейки, которые мы добавили ранее.
builder->get_CellFormat()->get_Shading()->ClearFormatting();
builder->InsertCell();
builder->Write(u"Row 2, Col 1");
builder->InsertCell();
builder->Write(u"Row 2, Col 2");
builder->EndRow();
// Увеличьте высоту строки, чтобы разместить вертикальный текст.
builder->InsertCell();
builder->get_RowFormat()->set_Height(150);
builder->get_CellFormat()->set_Orientation(Aspose::Words::TextOrientation::Upward);
builder->Write(u"Row 3, Col 1");
builder->InsertCell();
builder->get_CellFormat()->set_Orientation(Aspose::Words::TextOrientation::Downward);
builder->Write(u"Row 3, Col 2");
builder->EndRow();
builder->EndTable();
doc->Save(get_ArtifactsDir() + u"DocumentBuilder.InsertTable.docx");
Показывает, как использовать DocumentBuilder для создания таблицы.
auto doc = System::MakeObject<Aspose::Words::Document>();
auto builder = System::MakeObject<Aspose::Words::DocumentBuilder>(doc);
// Начните таблицу, затем заполните первую строку двумя ячейками.
builder->StartTable();
builder->InsertCell();
builder->Write(u"Row 1, Cell 1.");
builder->InsertCell();
builder->Write(u"Row 1, Cell 2.");
// Вызовите метод билдера "EndRow", чтобы начать новую строку.
builder->EndRow();
builder->InsertCell();
builder->Write(u"Row 2, Cell 1.");
builder->InsertCell();
builder->Write(u"Row 2, Cell 2.");
builder->EndTable();
doc->Save(get_ArtifactsDir() + u"DocumentBuilder.CreateTable.docx");
См. также
- Namespace Aspose::Words
- Library Aspose.Words for C++