В последние годы динамическое создание документов Word стало популярной функцией для составления отчетов, предложений, счетов и других типов документов. Различные компании-производители формируют счета-фактуры на основе данных, хранящихся в базах данных. В таких случаях автоматизация документов позволяет сэкономить время, усилия и ресурсы, необходимые в процессе ручного создания документов. Эта статья нацелена на процесс автоматизации документов и позволяет узнать, как программно создавать документы Word на Java.
- Java API для создания документов Word
- Создайте документ Word с помощью Java
- Создайте документ Word с таблицей
- Вставить список в документ Word
- Создать документ Word с изображением
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 используются для организации содержимого в виде строк и столбцов. В этом разделе мы создадим простую таблицу, содержащую две строки и два столбца. Создание таблицы включает в себя четыре основные операции:
- Запуск таблицы
- Вставка ячейки
- Завершение ряда
- Завершение таблицы
Ниже приведены шаги для создания таблицы в документе 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");
Выход
Создайте список в документе 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 с помощью 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 с помощью Java. Кроме того, в примерах кода показано, как добавлять текст, таблицы, изображения и списки в документы Word. Вы можете читать дальше о том, как вставлять различные элементы в документ Word с помощью Aspose.Words for Java.
Попробуйте Aspose.Words для Java бесплатно
Вы можете получить бесплатную временную лицензию, чтобы попробовать и использовать Aspose.Words for Java без пробных ограничений.