Обзор конструктора документов

DocumentBuilder - это мощный класс, который ассоциируется с Document и позволяет создавать динамические документы с нуля или добавлять новые элементы к существующим.

DocumentBuilder

Конструктор документов или Aspose.Words DOM

DocumentBuilder

Операции, которые возможны с помощью DocumentBuilder, также возможны при непосредственном использовании классов Aspose.Words DOM. Однако прямое использование классов Aspose.Words DOM обычно требует большего количества строк кода, чем использование DocumentBuilder.

Навигация по документам

Навигация по документу основана на концепции виртуального курсора, с помощью которого вы можете перемещаться в другое место документа, используя различные методы DocumentBuilder.MoveToXXX, такие как MoveToDocumentStart и MoveToField. Этот виртуальный курсор указывает, куда будет вставляться текст при вызове методов Write, Writeln, InsertBreak, и других. Подробнее о виртуальном курсоре читайте в следующей статье “Навигация с помощью курсора”.

В следующем примере кода показано, как перейти к закладке:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(DocumentBuilderMoveToBookmarkEnd.class);
// Open the document.
Document doc = new Document(dataDir + "DocumentBuilder.doc");
DocumentBuilder builder = new DocumentBuilder(doc);
builder.moveToBookmark("CoolBookmark", false, true);
builder.writeln("This is a very cool bookmark.");
doc.save(dataDir + "output.doc");

Создание и модификация документов

Aspose.Words API предоставляет несколько классов, которые отвечают за форматирование различных элементов документа. Каждый из классов инкапсулирует свойства форматирования, относящиеся к определенному элементу документа, такому как текст, абзац, раздел и другие. Например, класс Font представляет свойства форматирования символов, класс ParagraphFormat представляет свойства форматирования абзацев и т.д. Объекты этих классов возвращаются соответствующими свойствами DocumentBuilder, которые имеют те же имена, что и классы. Таким образом, вы можете получить к ним доступ и задать желаемое форматирование во время создания документа.

Вы также можете вставить текст, checkbox, ole-объект, изображения, закладки, поля формы и другие элементы документа в положение курсора, используя метод Write или любой из методов DocumentBuilder.InsertXXX, таких как InsertField, InsertHtml и аналогичные методы.

Давайте посмотрим, как создать простой документ, используя DocumentBuilder.

Создайте документ, используя DocumentBuilder

Для начала вам нужно создать DocumentBuilder и связать его с объектом Document. Вы создаете новый экземпляр DocumentBuilder, вызывая его конструктор, и передаете его объекту Document для присоединения к конструктору.

Чтобы вставить текст, передайте строку текста, которую вам нужно вставить в документ, методу Write.

В следующем примере кода показано, как создать простой документ с помощью конструктора документов.

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(HelloWorld.class);
// Create a blank document.
Document doc = new Document();
// DocumentBuilder provides members to easily add content to a document.
DocumentBuilder builder = new DocumentBuilder(doc);
// Write a new paragraph in the document with the text "Hello World!"
builder.writeln("Hello World!");
// Save the document in DOCX format. The format to save as is inferred from the extension of the file name.
// Aspose.Words supports saving any document in many more formats.
doc.save(dataDir + "HelloWorld_out_.docx");

Укажите форматирование документа

Свойство Font определяет форматирование текста. Этот объект содержит различные атрибуты шрифта (название шрифта, размер шрифта, цвет и т.д.). Некоторые важные атрибуты шрифта также представлены свойствами DocumentBuilder, что позволяет получить к ним прямой доступ. Это логические свойства Font.Bold, Font.Italic и Font.Underline.

В следующем примере кода показано, как вставить форматированный текст с помощью DocumentBuilder:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// Open the document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Font font = builder.getFont();
font.setSize(16);
font.setColor(Color.DARK_GRAY);
font.setBold(true);
font.setName("Algerian");
font.setUnderline(2);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setAlignment(1);
paragraphFormat.setKeepTogether(true);
builder.write("This is a sample Paragraph");
doc.save(dataDir + "InsertParagraph_out.doc");