Neste artigo, mostrarei como converter PDF para PowerPoint PPT/PPTX programaticamente usando Java.

O PDF tornou-se um dos formatos de documento mais usados devido aos recursos suportados, bem como à estabilidade e consistência em todas as plataformas. Em vários cenários, você opta por salvar ou compartilhar um documento no formato PDF. No entanto, em alguns casos, pode ser necessário exportar o conteúdo de um PDF para uma apresentação do PowerPoint (PPT ou PPTX). Em tal situação, você pode evitar copiar/colar manualmente automatizando a conversão de PDF para PowerPoint. Para lidar com esse caso, vamos aprender como:
- Converter PDF para PowerPoint PPT ou PPTX usando Java
- Converta PDF para PPT/PPTX com slides como imagens
- Acompanhe o progresso da conversão de PDF para PPT/PPTX
Java PDF para API do conversor PPT/PPTX
Aspose.PDF for Java é uma API de PDF bem conhecida com um conjunto incrível de recursos de manipulação de PDF. Juntamente com a manipulação de PDF, a API também fornece um poderoso conversor de PDF para PowerPoint que permite converter cada página do documento PDF em um slide na apresentação PPT/PPTX. Você pode baixar o JAR da API ou instalá-lo em seu aplicativo baseado em Maven usando as seguintes configurações.
Repositório:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependência:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.7</version>
<classifier>jdk17</classifier>
</dependency>
Converter PDF para PowerPoint PPT/PPTX usando Java
A seguir estão as etapas, bem como as referências de API para converter um documento PDF para apresentação PPTX usando Aspose.PDF para Java.
- Crie uma instância da classe Document.
- Crie um objeto da classe PptxSaveOptions.
- Converta PDF para PPTX usando o método Document.save(String).
O exemplo de código a seguir mostra como converter um PDF em PPTX usando Java.
// Carregar documento PDF
Document pdfDocument = new Document("document.pdf");
PptxSaveOptions pptxOptions = new PptxSaveOptions();
// Converter PDF para PPTX
pdfDocument.save("PDF to PPT.pptx", pptxOptions);
Documento PDF

Apresentação PPTX

Converter PDF para PPTX com Slides como Imagens usando Java
Você também pode converter cada página do PDF em uma imagem nos slides da apresentação. Esse recurso é útil quando você deseja evitar o texto selecionável na apresentação. A seguir estão as etapas para converter um PDF para PPTX com imagens nos slides.
- Inicialize a classe Document.
- Crie uma instância da classe PptxSaveOptions.
- Defina PptxSaveOptions.setSlidesAsImages(true).
- Salve o PDF como PPTX usando o método Document.save(String).
O exemplo de código a seguir mostra como converter PDF em PPTX com slides como imagens.
// Carregar documento PDF
Document pdfDocument = new Document("document.pdf");
// Definir opções de salvamento PPTX
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.setSlidesAsImages(true);
// Salvar PDF como PPTX
pdfDocument.save("PDF to PPT.pptx", pptxOptions);
Acompanhe o progresso da conversão de PDF para PowerPoint PPTX
Você também pode acompanhar o progresso da conversão de PDF para PPTX definindo um manipulador de progresso personalizado usando o método PptxSaveOptions.setCustomProgressHandler(). Este recurso pode ser usado para mostrar a barra de progresso ou detalhes sobre quantas páginas são processadas. O exemplo de código a seguir mostra como implementar o recurso de acompanhamento do progresso da conversão.
PptxSaveOptions pptxOptions = new PptxSaveOptions();
pptxOptions.setCustomProgressHandler(new UnifiedSaveOptions.ConversionProgressEventHandler() {
@Override
public void invoke(UnifiedSaveOptions.ProgressEventHandlerInfo eventInfo) {
// Exemplo de como lidar com eventos de progresso:
System.out.println(ProgressEventType.getName(ProgressEventType.class, eventInfo.EventType) + "\t"
+ eventInfo.Value + " from: \t" + eventInfo.MaxValue);
}
});
// Carregar PDF
Document pdfDocument = new Document("document.pdf");
// Salvar PDF como PPTX
pdfDocument.save("PDF to PPTX.pptx", pptxOptions);
Resultado
SourcePageAnalysed 1 from: 10
TotalProgress 2 from: 100
SourcePageAnalysed 2 from: 10
TotalProgress 5 from: 100
SourcePageAnalysed 3 from: 10
TotalProgress 7 from: 100
SourcePageAnalysed 4 from: 10
TotalProgress 9 from: 100
SourcePageAnalysed 5 from: 10
TotalProgress 12 from: 100
SourcePageAnalysed 6 from: 10
TotalProgress 14 from: 100
SourcePageAnalysed 7 from: 10
TotalProgress 16 from: 100
SourcePageAnalysed 8 from: 10
TotalProgress 18 from: 100
SourcePageAnalysed 9 from: 10
TotalProgress 21 from: 100
SourcePageAnalysed 10 from: 10
TotalProgress 23 from: 100
ResultPageCreated 1 from: 10
TotalProgress 28 from: 100
ResultPageCreated 2 from: 10
TotalProgress 32 from: 100
ResultPageCreated 3 from: 10
TotalProgress 37 from: 100
ResultPageCreated 4 from: 10
TotalProgress 42 from: 100
ResultPageCreated 5 from: 10
TotalProgress 46 from: 100
ResultPageCreated 6 from: 10
TotalProgress 51 from: 100
ResultPageCreated 7 from: 10
TotalProgress 56 from: 100
ResultPageCreated 8 from: 10
TotalProgress 61 from: 100
ResultPageCreated 9 from: 10
TotalProgress 65 from: 100
ResultPageCreated 10 from: 10
TotalProgress 70 from: 100
ResultPageSaved 1 from: 10
TotalProgress 73 from: 100
ResultPageSaved 2 from: 10
TotalProgress 76 from: 100
ResultPageSaved 3 from: 10
TotalProgress 79 from: 100
ResultPageSaved 4 from: 10
TotalProgress 82 from: 100
ResultPageSaved 5 from: 10
TotalProgress 85 from: 100
ResultPageSaved 6 from: 10
TotalProgress 88 from: 100
ResultPageSaved 7 from: 10
TotalProgress 91 from: 100
ResultPageSaved 8 from: 10
TotalProgress 94 from: 100
ResultPageSaved 9 from: 10
TotalProgress 97 from: 100
ResultPageSaved 10 from: 10
TotalProgress 100 from: 100
Conclusão
Neste artigo, você aprendeu como converter programaticamente PDF para PowerPoint PPT/PPTX usando Java. Você pode implementar esse recurso no Java Swing ou em qualquer outro aplicativo baseado em Java. Caso queira saber mais sobre nossa API Java PDF, consulte a documentação.
Veja também
Dica: Você pode tentar Aspose PDF to PowerPoint Converter, que é uma implementação ao vivo do processo descrito neste artigo.