
Автоматизация Word позволяет создавать новые документы Word, редактировать или изменять существующие или преобразовывать их в другие форматы без использования Microsoft Office. Все действия, которые мы можем выполнять через пользовательский интерфейс MS Word, также можно выполнять программно с помощью автоматизации. В этой статье мы узнаем, как автоматизировать MS Word для создания, редактирования или преобразования документов Word с использованием Java.
В этой статье должны быть раскрыты следующие темы:
- Java Word Automation API для создания, редактирования или преобразования документов Word
- Создание документов Word с использованием Java
- Редактировать или изменять документы Word с помощью Java
- Поиск и замена текста в документах Word с помощью Java
- Преобразование документов Word с помощью Java
- Разбирать документы Word с помощью Java
Java Word Automation API для создания, редактирования или преобразования документов Word
Для автоматизации Word мы будем использовать API Aspose.Words for Java. Это полное и многофункциональное решение автоматизации Word для создания, редактирования или анализа документов Word программными средствами. Пожалуйста, либо скачайте JAR API, либо просто добавьте следующую конфигурацию pom.xml в приложение Java на основе 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>21.11</version>
<type>pom</type>
</dependency>
Создание документов Word с помощью Java
Мы можем создавать документы Word программно, выполнив следующие шаги:
- Во-первых, создайте экземпляр класса Document. Этот класс представляет документ Word.
- Затем создайте экземпляр класса DocumentBuilder с объектом Document в качестве аргумента. Этот класс предоставляет методы для вставки текста, изображений и другого содержимого, указания шрифта, форматирования абзаца и раздела.
- Затем вставьте/запишите элементы, чтобы добавить текст, абзацы, таблицу или изображение, используя объект DocumentBuilder.
- Наконец, вызовите метод Document.save() с путем к выходному файлу, чтобы сохранить созданный файл.
В следующем примере кода показано, как создать документ Word (DOCX) с помощью Java.
// Откройте документ.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Установить шрифт для следующих элементов
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
// Вставить текст
builder.writeln("Welcome!");
// Установить шрифт для следующих элементов
font.setSize(12);
font.setBold(false);
// Вставить абзац
builder.writeln("Aspose.Words for Java is a class library that enables your applications to perform a great range of document processing tasks.\r\n"
+ "\r\n"
+ "Aspose.Words supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.\r\n"
+ "\r\n"
+ "With Aspose.Words for Java, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.");
builder.writeln();
font.setBold(true);
builder.writeln("This is a sample table");
font.setBold(false);
// Вставить таблицу
Table table = builder.startTable();
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);
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.insertCell();
builder.write("This is row 2 cell 1");
builder.insertCell();
builder.write("This is row 2 cell 2");
builder.endRow();
builder.endTable();
builder.writeln();
// Вставить изображение
builder.insertImage("C:\\Files\\Words\\words_java.jpg");
// Вставить разрыв страницы
builder.insertBreak(BreakType.PAGE_BREAK);
// все элементы после разрыва страницы будут вставлены на следующую страницу.
// Сохраните документ
doc.save("C:\\Files\\Words\\document.docx");

Создавайте документы Word с помощью Java.
Редактировать или изменять документы Word с помощью Java
В предыдущем разделе мы создали документ Word. Теперь давайте отредактируем его и изменим содержимое документа. Мы можем программно редактировать документы Word, выполнив следующие шаги:
- Во-первых, загрузите документ Word, используя класс Document с путем к входному файлу в качестве аргумента.
- Затем перейдите к конкретному разделу по его индексу.
- Затем получите доступ к содержимому первого абзаца как к объекту класса Run. Класс Run представляет набор символов с одинаковым форматированием шрифта. Весь текст документа хранится в виде строк текста.
- После этого установите текст для обновления для доступного абзаца.
- Наконец, вызовите метод Document.save() с путем к выходному файлу, чтобы сохранить обновленный файл.
В следующем примере кода показано, как редактировать документ Word (DOCX) с помощью Java.
// Загрузить документ
Document doc = new Document("C:\\Files\\Words\\document.docx");
// Доступ к абзацу
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");
// Сохраните документ
doc.save("C:\\Files\\Words\\Document_updated.docx");

Редактируйте или изменяйте документы Word с помощью Java.
Поиск и замена текста в документах Word с помощью Java
Мы также можем обновлять содержимое документов Word, используя механизм поиска и замены API. Мы можем сделать это программно, выполнив следующие шаги:
- Во-первых, загрузите документ Word, используя класс Document с путем к входному файлу в качестве аргумента.
- Затем создайте экземпляр класса FindReplaceOptions.
- Затем вызовите метод replace() со строкой поиска, строкой замены и объектом FindReplaceOptions в качестве аргументов. Этот метод должен заменять каждое вхождение строки поиска строкой замены.
- Наконец, вызовите метод Document.save() с путем к выходному файлу, чтобы сохранить обновленный файл.
В следующем примере кода показано, как найти и заменить определенный текст в документе Word (DOCX) с помощью Java.
// Загрузить документ
Document doc = new Document("C:\\Files\\Words\\document.docx");
// Обновление с помощью поиска и замены
// Укажите строку поиска и замените строку с помощью метода Replace.
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());
// Сохраните документ
doc.save("C:\\Files\\Words\\Document_updated.docx");

Поиск и замена текста в документах Word с помощью Java
Преобразование документов Word с помощью Java
Мы можем программно конвертировать документы Word в другие форматы, такие как PDF, XPS, EPUB, HTML, JPG, PNG и т. д., выполнив следующие шаги:
- Во-первых, загрузите документ Word, используя класс Document с путем к входному файлу в качестве аргумента.
- Затем создайте экземпляр класса PdfSaveOptions с объектом Document в качестве аргумента. Этот класс предоставляет дополнительные параметры при сохранении документа в формате PDF.
- Затем укажите уровень соответствия стандартам PDF для выходного документа, задав для параметра PdfSaveOptions.Compliance значение PdfCompliance.PDF17.
- Наконец, вызовите метод Document.save() с путем к выходному файлу и объектом PdfSaveOptions в качестве аргумента, чтобы сохранить файл PDF.
В следующем примере кода показано, как преобразовать документ Word (DOCX) в PDF с помощью Java.
// Загрузить документ
Document doc = new Document("C:\\Files\\Words\\document.docx");
// Обеспечение совместимости PDFSaveOption с PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);
// Преобразование Word в PDF
doc.save("C:\\Files\\Words\\output.pdf", options);

Преобразование документов Word с помощью Java
Разбирать документы Word с помощью Java
Мы можем программно анализировать документы Word и извлекать содержимое в виде обычного текста, выполнив следующие шаги:
- Загрузите документ Word, используя класс Document с путем к входному файлу в качестве аргумента.
- Вызовите метод Document.save(), чтобы сохранить документ Word в виде текстового файла. Этот метод принимает путь к выходному файлу в качестве аргумента.
В следующем примере кода показано, как анализировать документ Word (DOCX) с помощью Java.
// Загрузите документ с диска.
Document doc = new Document("C:\\Files\\Words\\document.docx");
// Сохранить как обычный текст
doc.save("C:\\Files\\Words\\output.txt");

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