Редактировать документы Word в Java

DOC, DOCX и ODT являются одними из самых распространенных и широко используемых форматов файлов для обработки текстов. Microsoft Word и OpenOffice Writer поддерживают эти форматы и используются для составления документов. Поэтому нам, как разработчикам, часто приходится программно редактировать документы Word в приложениях. В этой статье мы обсудим, как редактировать документы Word с помощью Java API для редактирования документов.

В этой статье рассматриваются следующие темы:

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

GroupDocs.Editor предоставляет Java API для редактирования документов и позволяет разработчикам загружать, редактировать и сохранять различные форматы документов с помощью HTML-редакторов WYSIWYG. Помимо форматов документов для обработки текстов, API поддерживает редактирование электронных таблиц, презентаций, HTML, XML, TXT, CSV и многих других форматов.

Загрузите или настройте

Вы можете скачать файл JAR из раздела загрузок или просто получить репозиторий и конфигурации зависимостей для pom.xml вашего **maven-based ** Java-приложения.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-editor</artifactId>
        <version>20.11</version> 
</dependency>

Редактировать документы Word в Java

После настройки API можно быстро перейти к редактированию документа Word. Следующие шаги позволят вам редактировать текстовые документы DOC/DOCX в Java.

  • Загрузите документ Word, используя Editor.
  • Получить EditableDocument с помощью метода edit.
  • Получить встроенный HTML-код загруженного документа DOC/DOCX.
  • Редактируйте содержимое программно или с помощью любого редактора WYSIWYG.
  • Преобразование отредактированного содержимого обратно в редактируемый документ.
  • Сохраните обновленный документ, используя соответствующий метод save.

Следующий код Java позволяет редактировать документы Word в приложении.

// Редактировать документы Word DOC/DOCX в Java
Options.WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
loadOptions.setPassword("password-if-any");

Editor editor = new Editor("path/document.docx", loadOptions);
EditableDocument defaultWordProcessingDoc = editor.edit();

// Либо редактируйте с помощью любого редактора WYSIWYG, либо редактируйте программно.
String allEmbeddedInsideString = defaultWordProcessingDoc.getEmbeddedHtml();
String allEmbeddedInsideStringEdited = allEmbeddedInsideString.replace("document", "edited document");

// Сохраните отредактированный документ
EditableDocument editedDoc = EditableDocument.fromMarkup(allEmbeddedInsideStringEdited, null);
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
editor.save(editedDoc, "path/edited-document.docx", saveOptions);

Загрузить: Вы можете применить дополнительные параметры при загрузке документа Word; как предоставление пароля, если документ защищен.

Редактировать: После загрузки вы можете редактировать загруженный документ в соответствии с вашими требованиями. В приведенном выше примере все вхождения слова «документ» заменены на «отредактированный документ» в документе Word.

Сохранить: при сохранении отредактированного документа вы можете установить различные параметры. Эти варианты включают в себя; разбиение на страницы, установка пароля, настройки оптимизации памяти и многое другое.

Ниже приведен вывод приведенного выше кода.

отредактировал документ docx с помощью API редактора

Выходной документ - все вхождения заменены

Вывод

Подводя итог, мы научились редактировать документы Word на Java с помощью Java API для редактирования документов. Вы можете использовать API вместе с WYSIWYG-редакторами для визуального редактирования документов. Вы можете создать собственное Java-приложение для редактирования документов. Для получения дополнительной информации, вариантов и примеров вы можете посетить документацию и GitHub. репозиторий. По дополнительным вопросам обращайтесь в службу поддержки на форуме.

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