Создать документ Rich Word в Java

В последние годы динамическое создание документов Word стало популярной функцией для составления отчетов, предложений, счетов и других типов документов. Различные компании-производители формируют счета-фактуры на основе данных, хранящихся в базах данных. В таких случаях автоматизация документов позволяет сэкономить время, усилия и ресурсы, необходимые в процессе ручного создания документов. Эта статья нацелена на процесс автоматизации документов и позволяет узнать, как программно создавать документы Word на Java.

Java API для создания документов Word

В этой статье мы будем использовать Aspose.Words for Java, который представляет собой многофункциональный API для создания, редактирования или преобразования документов Word в приложениях на основе Java. Вы можете скачать JAR-файл API или установить его, используя следующие конфигурации Maven:

Репозиторий:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Зависимость:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.2</version>
    <classifier>jdk17</classifier>
</dependency>

В следующих разделах вы узнаете, как создать документ Word, содержащий различные элементы, такие как текст, абзац, таблица, список, изображения и т. д., программно с помощью Java.

Создайте документ Word с помощью Java

В большинстве случаев значительная часть содержимого документа Word основана на тексте. Поэтому мы начнем наше путешествие с создания документа Word с заголовком и абзацем. Ниже приведены шаги для создания документа Word:

  • Сначала создайте экземпляр класса Document.
  • Создайте объект DocumentBuilder и инициализируйте его с помощью объекта Document.
  • Используйте класс Font и установите размер шрифта, семейство и т. д.
  • Установите свойства абзаца, используя класс ParagraphFormat.
  • Запишите текст в документ, используя метод DocumentBuilder.write().
  • Наконец, вызовите метод Document.save(), чтобы создать документ.

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

// Создать объект документа
Document doc = new Document();
// Создайте объект DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Укажите форматирование шрифта
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// Начать абзац
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// Сохраните документ
doc.save("Rich Word Document.docx");

Выход

Создать документ Word на Java

Создайте документ Word с таблицей, используя Java

Таблицы в документах Word используются для организации содержимого в виде строк и столбцов. В этом разделе мы создадим простую таблицу, содержащую две строки и два столбца. Создание таблицы включает в себя четыре основные операции:

  • Запуск таблицы
  • Вставка ячейки
  • Завершение ряда
  • Завершение таблицы

Ниже приведены шаги для создания таблицы в документе Word с использованием Java:

  • Сначала создайте объекты класса Document и DocumentBuilder.
  • Создайте таблицу, используя класс Table.
  • Вставьте ячейку с помощью метода DocumentBuilder.insertCell().
  • Установите свойства таблицы в соответствии с вашими требованиями.
  • Добавьте текст в ячейку с помощью метода DocumentBuilder.write().
  • Завершите строку и таблицу, используя методы DocumentBuilder.endRow() и DocumentBuilder.endTable() соответственно.
  • Наконец, сохраните документ.

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

// Создать объект документа
Document doc = new Document();
// Создайте объект DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Создать таблицу
Table table = builder.startTable();
// Вставить ячейку
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// Конец ряда
builder.endRow();
// начать следующую строку и установить ее свойства
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// Конечная таблица
builder.endTable();
// Сохраните документ
doc.save("Rich Word Document.docx");

Выход

Java генерирует документ Word с таблицей

Создайте список в документе Word с помощью Java

Ниже приведены шаги для добавления списка в документ Word.

  • Сначала создайте объект класса Document.
  • Добавьте желаемый тип списка в документ, используя метод Document.getLists().add().
  • Получить список из документа в объект List.
  • Заполните список с помощью объекта DocumentBuilder.
  • Наконец, сохраните документ.

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

// Создать объект документа
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// Установите значение true, чтобы указать, что список должен перезапускаться в каждом разделе.
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) {
	builder.writeln(String.format("List Item " + i));
	// Вставить разрыв раздела.
	if (i == 15)
		builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
}
builder.getListFormat().removeNumbers();
// Сохраните документ
doc.save("Rich Word Document.docx");

Выход

Вставить список в Word docx на Java

Вставить изображение в документ Word с помощью Java

Вставить изображение в документ Word очень просто. Ниже приведены несколько простых шагов для выполнения этой операции:

  • Сначала создайте объект класса Document.
  • Создайте объект класса DocumentBuilder и инициализируйте его с помощью объекта Document.
  • Вставьте изображение, используя метод DocumentBuilder.insertImage().
  • Наконец, сохраните документ.

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

// Создать объект документа
Document doc = new Document();
// Создать DocumentBuiler
DocumentBuilder builder = new DocumentBuilder(doc);
// Вставить изображение
builder.insertImage("aspose-words.png");
// Сохраните документ
doc.save("Rich Word Document.docx");

Выход

Вставить изображение в Word docx на Java

Вывод

В этой статье вы узнали, как программно создавать насыщенные документы Word с помощью Java. Кроме того, в примерах кода показано, как добавлять текст, таблицы, изображения и списки в документы Word. Вы можете читать дальше о том, как вставлять различные элементы в документ Word с помощью Aspose.Words for Java.

Попробуйте Aspose.Words для Java бесплатно

Вы можете получить бесплатную временную лицензию, чтобы попробовать и использовать Aspose.Words for Java без пробных ограничений.

Смотрите также