Редактировать Word DOCX с помощью Java

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

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

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

Для редактирования файлов DOCX я буду использовать API GroupDocs.Editor for Java. Он позволяет программно редактировать документы Word, листы Excel или документы других поддерживаемых форматов. API позволяет загружать документы и преобразовывать их в HTML. Он предоставляет HTML для внешнего пользовательского интерфейса для редактирования, а затем сохраняет HTML в исходном документе после обработки.

Вы можете скачать JAR API или просто добавить следующую конфигурацию pom.xml в свои приложения Java на основе Maven, чтобы попробовать приведенные ниже примеры кода.

<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.0</version> 
</dependency>

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

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

  • Определите WordProcessingLoadOptions
  • Создайте экземпляр класса Editor.
  • Укажите путь к входному файлу DOCX
  • Определите WordProcessingEditOptions
  • Вызовите метод edit() и получите объект EditableDocument.
  • Захват содержимого документа и связанных ресурсов из EditableDocument
  • Вызовите метод getEmbeddedHtml(), чтобы получить документ в виде одной строки в кодировке base64.
  • Обновите содержимое, вызвав метод replace()
  • Вызовите метод fromMarkup() и создайте новый экземпляр EditableDocument.
  • Определите WordProcessingSaveOptions
  • Вызовите метод save() и сохраните обновленный файл.
  • Утилизировать объекты

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

//Входной файл
String inputFilePath = "C:\\Files\\Sample.docx";

//Загрузите документ с параметрами загрузки
WordProcessingLoadOptions wordLoadOptions = new WordProcessingLoadOptions();
wordLoadOptions.setPassword("some password"); // Password if required
Editor editor = new Editor(inputFilePath, wordLoadOptions);

// Укажите параметры редактирования
WordProcessingEditOptions editOptions = new WordProcessingEditOptions();
editOptions.setEnableLanguageInformation(true);
editOptions.setEnablePagination(true);

//Открыть входной документ для редактирования
EditableDocument beforeEdit = editor.edit(editOptions);

//Захват содержимого документа и связанных ресурсов из редактируемого документа
String content = beforeEdit.getContent();
List<IImageResource> images = beforeEdit.getImages();
List<FontResourceBase> fonts = beforeEdit.getFonts();
List<CssText> stylesheets = beforeEdit.getCss();

//Получить документ как единую строку с кодировкой base64, где все ресурсы (изображения, шрифты и т. д.) встроены в эту строку вместе с основным текстовым содержимым.
String allEmbeddedInsideString = beforeEdit.getEmbeddedHtml();
//Изменить содержимое
String allEmbeddedInsideStringEdited = allEmbeddedInsideString.replace("Subtitle", "Edited subtitle");

//Создайте новый экземпляр EditableDocument из отредактированного содержимого и ресурсов.
EditableDocument afterEdit = EditableDocument.fromMarkup(allEmbeddedInsideStringEdited, null);

//путь к выходному документу
String outputPath = "C:\\Files\\Sample_output.docx";
//Сохранить параметры
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
//Наконец, сохраните путь
editor.save(afterEdit, outputPath, saveOptions);

//Утилизировать объекты
beforeEdit.dispose();
afterEdit.dispose();
editor.dispose();
Редактировать документы Word с помощью Java

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

Класс WordprocessingLoadOptions предоставляет различные параметры для загрузки документов Word, таких как DOC, DOCX, RTF, ODT и т. д., в класс Editor.

  • Метод setPassword позволяет указать пароль для открытия защищенных паролем документов.

Класс Editor — это основной класс, предоставляющий методы для загрузки, редактирования и сохранения документов всех поддерживаемых форматов.

Класс WordProcesingEditOptions позволяет указать пользовательские параметры для открытия документов обработки Word для редактирования.

  • Метод setEnabledLanguageInformation указывает, экспортируется ли языковая информация в HTML-разметку в виде HTML-атрибутов lang.
  • Метод setEnablePagination позволяет включить или отключить нумерацию страниц в результирующем HTML-документе.

Класс EditableDocument внутренне хранит документ и предоставляет методы для создания HTML-разметки и создания ресурсов.

Класс WordProcessingSaveOptions предоставляет настраиваемые параметры для создания и сохранения документов Word после редактирования.

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

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

Вывод

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

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