Gerar miniaturas PPTX em Java

Miniaturas são versões pequenas das imagens maiores que facilitam a visualização ou a rolagem da lista de imagens. O MS PowerPoint também usa miniaturas para que as apresentações passem pelo conteúdo e naveguem até um slide específico. Neste artigo, você aprenderá como gerar miniaturas de PowerPoint PPTX ou PPT usando Java. Você pode usar esse recurso em cenários como ao criar seu visualizador do PowerPoint baseado na Web ou na área de trabalho.

API Java para gerar miniaturas para PowerPoint PPTX/PPT

Para gerar miniaturas para apresentações PPTX ou PPT, usaremos Aspose.Slides for Java. É uma API rica em recursos para criar, manipular e converter apresentações do PowerPoint e do OpenOffice. Você pode baixar a API ou instalá-la usando as seguintes configurações do Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.8</version>
    <classifier>jdk16</classifier>
</dependency>

Gerar miniaturas para PPTX ou PPT usando Java

A seguir estão as etapas para gerar miniaturas de uma apresentação PPTX usando Java.

  1. Primeiro, crie uma instância da classe Apresentação para carregar a apresentação.
  2. Faça um loop por cada ISlide na coleção Presentation.getSlides().
  3. Gere a imagem de cada slide usando o método ISlide.getThumbnail(1f, 1f) e obtenha a referência da imagem em um objeto BufferedImage.
  4. Crie um novo File para a imagem de saída.
  5. Finalmente, salve a imagem usando o método ImageIO.write(BufferedImage, String, File).

O exemplo de código a seguir mostra como gerar miniaturas de uma apresentação PPTX usando Java.

// Carregar apresentação do PowerPoint
Presentation presentation = new Presentation("presentation.pptx");

// Iterar pelos slides da apresentação
for (ISlide sld : presentation.getSlides()) {
  
	// Criar uma imagem em escala real do slide
	BufferedImage bi = sld.getThumbnail(1f, 1f);

	// Crie um novo arquivo para salvar a imagem
	File outputfile = new File("Slide_" + sld.getSlideNumber() + ".png");

	// Salvar imagem
	ImageIO.write(bi, "png", outputfile);
}

Gerar miniaturas com dimensões definidas pelo usuário

Você também pode especificar suas próprias dimensões para as imagens em miniatura usando a altura e a largura dos slides. A seguir estão as etapas para realizar esta operação.

  1. Primeiro, crie uma instância da classe Apresentação para carregar a apresentação.
  2. Defina as dimensões da imagem PNG resultante.
  3. Faça um loop em cada ISlide na coleção Presentation.getSlides().
  4. Gere a imagem de cada slide usando o método ISlide.getThumbnail(float ScaleX, float ScaleY) e obtenha a referência da imagem em um objeto BufferedImage.
  5. Crie um novo File para a imagem de saída.
  6. Finalmente, salve a imagem usando o método ImageIO.write(BufferedImage, String, File).

O exemplo de código a seguir mostra como gerar miniaturas de um PPTX com dimensões personalizadas.

// Carregar apresentação do PowerPoint
Presentation presentation = new Presentation("presentation.pptx");

// Dimensão definida pelo usuário
int desiredX = 1200;
int desiredY = 800;

// Obtendo o valor dimensionado de X e Y
float ScaleX = (float) (1.0 / presentation.getSlideSize().getSize().getWidth()) * desiredX;
float ScaleY = (float) (1.0 / presentation.getSlideSize().getSize().getHeight()) * desiredY;

// Iterar pelos slides da apresentação
for (ISlide sld : presentation.getSlides()) {
  
	// Criar uma imagem em escala real do slide
	BufferedImage bi = sld.getThumbnail(ScaleX, ScaleY);

	// Crie um novo arquivo para salvar a imagem
	File outputfile = new File("Slide_" + sld.getSlideNumber() + ".png");

	// Salvar imagem
	ImageIO.write(bi, "png", outputfile);
}

Obtenha uma licença de API gratuita

Você pode usar o Aspose.Slides for Java sem limitações de avaliação solicitando uma licença temporária.

Conclusão

Neste artigo, você aprendeu como gerar miniaturas de PowerPoint PPTX ou PPT usando Java. Além disso, você viu como gerar miniaturas com dimensões definidas pelo usuário. Além disso, você pode visitar a documentação para explorar outros recursos da API. Além disso, sinta-se à vontade para nos informar sobre suas dúvidas por meio do nosso fórum.

Veja também