Автоматизация Microsoft Word — создание, редактирование или преобразование документов Word с помощью Java

Автоматизация Word позволяет создавать новые документы Word, редактировать или изменять существующие или преобразовывать их в другие форматы без использования Microsoft Office. Все действия, которые мы можем выполнять через пользовательский интерфейс MS Word, также можно выполнять программно с помощью автоматизации. В этой статье мы узнаем, как автоматизировать MS Word для создания, редактирования или преобразования документов 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 с помощью 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 с помощью 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 с помощью 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 в PDF.

Преобразование документов 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.

Разбирать документы Word с помощью Java.

Получить бесплатную лицензию

Пожалуйста, попробуйте API без ознакомительных ограничений, запросив бесплатную временную лицензию.

Вывод

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

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