Редактировать презентацию PPT/PPTX с помощью Java API

Файлы презентаций бывают разных форматов, таких как PPT, PPTX и ODP. Вы должны быть знакомы с такими программами, как Microsoft PowerPoint, OpenOffice Impress и Apple Keynote — все они работают с этими форматами, помогая нам создавать потрясающие презентации. Как разработчики, мы имеем право программно редактировать эти презентации в наших приложениях. В этой статье вы узнаете, как редактировать презентации PPT/PPTX на Java с помощью API редактирования презентаций.

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

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

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

Этот API не только обрабатывает презентации, но также поддерживает редактирование различных других типов документов, включая текстовые документы, электронные таблицы, форматы HTML, XML, JSON, TXT, TSV и CSV.

Для начала вы можете загрузить необходимый файл JAR из раздела загрузок или включить новейшие конфигурации репозитория и зависимостей Maven непосредственно в ваши приложения Java.

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

Редактирование презентаций PPT/PPTX в Java

После настройки API вы можете быстро приступить к редактированию слайдов презентации. Вот шаги для редактирования презентаций в PPT/PPTX и других совместимых форматах:

Шаг 1. Загрузите презентацию

Начните с загрузки презентации. Укажите путь к файлу и пароль, если презентация защищена паролем.

// Load Presentation
PresentationLoadOptions loadOptions = new PresentationLoadOptions();
loadOptions.setPassword("P@$$w0Rd");

Editor editor = new Editor(new FileInputStream("path/presentation.pptx"), loadOptions);

Шаг 2. Редактирование слайдов презентации PPT/PPTX с помощью Java

После загрузки измените презентацию по мере необходимости. Например, в следующем коде Java я заменяю слово «документы» словом «презентация» в презентации PPTX.

// Edit Presentation
Editor editor = new Editor(new FileInputStream("path/presentation.pptx"), loadOptions);
PresentationEditOptions editOptions = new PresentationEditOptions();
editOptions.setSlideNumber(0); //1st slide
editOptions.setShowHiddenSlides(true);

EditableDocument beforeEdit = editor.edit(editOptions);
String originalContent = beforeEdit.getContent();
List<IHtmlResource> allResources = beforeEdit.getAllResources();

String editedContent = originalContent.replace("document", "presentation");

Шаг 3. Сохраните отредактированную презентацию PowerPoint с параметрами

При сохранении отредактированного контента у вас есть возможность установить различные параметры. Эти параметры включают установку пароля и настройку параметров выходного формата. В приведенном ниже фрагменте кода я демонстрирую, как применить эти параметры и сохранить отредактированную презентацию в виде файла PPTX, защищенного паролем.

// Save Presentation
EditableDocument afterEdit = EditableDocument.fromMarkup(editedContent, allResources);
PresentationSaveOptions saveOptions = new PresentationSaveOptions(PresentationFormats.Pptm);
saveOptions.setPassword("new_pa$$word");

editor.save(afterEdit, new ByteArrayOutputStream(), saveOptions);

try(OutputStream outputFile = new FileOutputStream("path/edited-presentation.pptx")) {
    outputStream.writeTo(outputFile);
}

Полный пример кода Java

Для вашего удобства ниже приведен полный код Java, описанный выше. Этот код демонстрирует, как редактировать презентацию PowerPoint и сохранять ее в формате PPTX.

// Редактируйте презентации PPT/PPTX на Java с помощью API редактирования и автоматизации презентаций GroupDocs.

// Загрузить презентацию
PresentationLoadOptions loadOptions = new PresentationLoadOptions();
loadOptions.setPassword("P@$$w0Rd");

// Редактировать презентацию
Editor editor = new Editor(new FileInputStream("path/presentation.pptx"), loadOptions);
PresentationEditOptions editOptions = new PresentationEditOptions();
editOptions.setSlideNumber(0); //1st slide
editOptions.setShowHiddenSlides(true);

EditableDocument beforeEdit = editor.edit(editOptions);
String originalContent = beforeEdit.getContent();
List<IHtmlResource> allResources = beforeEdit.getAllResources();

String editedContent = originalContent.replace("document", "presentation");

// Сохранить презентацию
EditableDocument afterEdit = EditableDocument.fromMarkup(editedContent, allResources);
PresentationSaveOptions saveOptions = new PresentationSaveOptions(PresentationFormats.Pptm);
saveOptions.setPassword("new_pa$$word");

editor.save(afterEdit, new ByteArrayOutputStream(), saveOptions);

try(OutputStream outputFile = new FileOutputStream("path/edited-presentation.pptx")) {
    outputStream.writeTo(outputFile);
}

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

отредактированная презентация pptx с использованием API редактирования

Выходная презентация: вхождения «документы» заменяются на «презентация».

Не стесняйтесь протестировать код и увидеть изменения самостоятельно! Если у вас есть вопросы или вам нужна дополнительная помощь, не стесняйтесь спрашивать.

Заключение

Таким образом, мы рассмотрели, как редактировать слайды презентации на Java с помощью API редактирования презентаций. Этот API позволяет вам визуально редактировать презентации с помощью редакторов WYSIWYG. Обладая этими знаниями, вы сможете создать свой собственный редактор презентаций или интегрировать функцию редактирования непосредственно в свое Java-приложение.

Подробную информацию, дополнительные параметры и примеры можно найти в документации и репозитории GitHub. Если у вас возникнут дополнительные вопросы, обращайтесь в службу поддержки на форуме.

Статьи по Теме