Editar apresentação PPT/PPTX usando Java API

Os arquivos de apresentação vêm em diferentes formatos, como PPT, PPTX e ODP. Você deve estar familiarizado com softwares como Microsoft PowerPoint, OpenOffice Impress e Apple Keynote – todos funcionam com esses formatos, ajudando-nos a criar apresentações incríveis. Como desenvolvedores, temos o poder de editar programaticamente essas apresentações em nossos aplicativos. Este artigo irá guiá-lo sobre como editar apresentações PPT/PPTX em Java usando API de edição de apresentação.

Neste artigo, abordaremos os seguintes tópicos:

API Java para edição e automação de apresentações

Em nossos exemplos, contaremos com uma poderosa biblioteca GroupDocs.Editor for Java. Esta biblioteca serve como uma API de edição de apresentações, permitindo que os desenvolvedores carreguem, editem e salvem apresentações em formatos como PPT, PPTX e PDF.

Esta API não apenas lida com apresentações, mas também oferece suporte à edição de vários outros tipos de documentos, incluindo documentos de processamento de texto, planilhas, formatos HTML, XML, JSON, TXT, TSV e CSV.

Para começar, você pode baixar o arquivo JAR necessário na seção de downloads ou incorporar o repositório mais recente e as configurações de dependência do Maven diretamente em seus aplicativos 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>

Editando apresentações PPT/PPTX em Java

Depois de configurar a API, você pode começar a editar rapidamente os slides da sua apresentação. Aqui estão as etapas para editar apresentações em PPT/PPTX e outros formatos compatíveis:

Etapa 1: carregar a apresentação

Comece carregando a apresentação. Forneça o caminho do arquivo e a senha se a apresentação estiver protegida por senha.

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

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

Etapa 2: editar slides de apresentação PPT/PPTX com Java

Após o carregamento, modifique a apresentação conforme necessário. Por exemplo, no código Java a seguir, estou substituindo ocorrências da palavra “documentos” por “apresentação” em uma apresentação 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");

Etapa 3: salve a apresentação editada do PowerPoint com opções

Ao salvar o conteúdo editado, você tem flexibilidade para definir várias opções. Essas opções incluem definir uma senha e definir configurações de formato de saída. No trecho de código abaixo, demonstro como aplicar essas opções e salvar a apresentação editada como um arquivo PPTX protegido por senha.

// 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);
}

Exemplo completo de código Java

Para sua conveniência, aqui está o código Java completo explicado acima. Este código demonstra como editar uma apresentação do PowerPoint e salvá-la no formato PPTX.

// Edite apresentações PPT/PPTX em Java usando a API de automação e edição de apresentações GroupDocs

// Carregar apresentação
PresentationLoadOptions loadOptions = new PresentationLoadOptions();
loadOptions.setPassword("P@$$w0Rd");

// Editar apresentação
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");

// Salvar apresentação
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);
}

Após executar o código acima, a apresentação da saída ficará semelhante à imagem abaixo. Nesta apresentação editada, todas as ocorrências da palavra ‘documentos’ foram substituídas por ‘apresentação’.

apresentação pptx editada usando API de edição

Apresentação de saída - ocorrências de ‘documentos’ são substituídas por ‘apresentação’

Sinta-se à vontade para testar o código e ver as mudanças por si mesmo! Se você tiver alguma dúvida ou precisar de mais ajuda, não hesite em perguntar.

Conclusão

Em resumo, exploramos como editar slides de apresentação em Java usando uma API de edição de apresentação. Esta API permite editar visualmente suas apresentações usando editores WYSIWYG. Com esse conhecimento, você pode criar seu próprio editor de apresentações ou integrar o recurso de edição diretamente em seu aplicativo Java.

Para obter informações detalhadas, opções adicionais e exemplos, você pode consultar a documentação e o repositório GitHub. Se você tiver mais dúvidas, sinta-se à vontade para entrar em contato com a equipe de suporte no fórum.

Artigos relacionados