1. Produtos
  2.   Apresentação
  3.   Java
  4.   Apache POI HSLF

Apache POI HSLF

 
 

Biblioteca Java para Formatos de Arquivo de Apresentação PPT da Microsoft®

Adicione slides e imagens a apresentações, converta arquivos PPT com API Java gratuita de código aberto.

O que é Apache POI HSLF?

Apache POI HSLF é uma implementação Java pura para ler, criar, modificar ou renderizar apresentações em PowerPoint. Ele fornece uma maneira de ler, criar ou modificar o formato de arquivo PPT de apresentações do PowerPoint. Ele fornece suporte para extrair dados como texto, imagens, sons, objetos incorporados e muito mais de apresentações do PowerPoint.

Ele também suporta desenhar uma forma em um slide, adicionar hiperlinks, tabelas, imagens, personalizar cabeçalhos e rodapés, criar listas com marcadores, recuperar sons incorporados e muito mais.

Previous Next

Primeiros passos com o Apache POI HSLF

Antes de tudo, você precisa ter o Java Development Kit (JDK) instalado em seu sistema. Se você já o possui, vá para a página download do POI do Apache para obter a versão estável mais recente em um arquivo. Extraia o conteúdo do arquivo ZIP em qualquer diretório de onde as bibliotecas necessárias possam ser vinculadas ao seu programa Java. Isso é tudo!

Fazer referência ao Apache POI em seu projeto Java baseado em Maven é ainda mais simples. Tudo que você precisa é adicionar a seguinte dependência em seu pom.xml e deixar seu IDE buscar e referenciar os arquivos Apache POI Jar.

Dependência do Apache POI Maven

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
  <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-scratchpad</artifactId>
    <version>4.1.0</version>
  </dependency>
  

Crie dinamicamente um novo PPT ou modifique apresentações existentes

O Apache POI HSLF permite que os programadores criem novas apresentações do PowerPoint em formatos de arquivo PPT. Os desenvolvedores também podem transformar uma apresentação existente de acordo com suas necessidades. A API também suporta recursos para extrair dados como texto, imagens, sons, objetos incorporados e assim por diante de apresentações do PowerPoint.

Criar um arquivo PPT - Java

// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.ppt"));
// create a new slide show
HSLFSlideShow xmlSlideShow = new HSLFSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);

Adicionar slides, imagens e personalizar cabeçalho e rodapé para PPT

Os desenvolvedores podem facilmente adicionar novos slides e modificar os existentes de acordo com suas próprias necessidades dentro de uma apresentação PPT usando a API Apache HSLF. Os desenvolvedores agora podem adicionar cabeçalhos e rodapés personalizados em suas apresentações. Ele também oferece suporte completo para adicionar um título a um slide, criar um slide com um layout predefinido, trabalhar com plano de fundo de slide/forma e muito mais.

Inserir imagens em PPT via Java

  1. Crie um novo arquivo PPT usando FileOutputStream e passe a instância de new File() com o nome do arquivo de saída como string
  2. Adicionar nova apresentação de slides usando o método HSLFSlideShow()
  3. Adicionar novo slide usando o método createSlide()
  4. Obtenha bytes de imagem usando o método IOUtils.toByteArray() e passe sua imagem nele através do método FileInputStream()
  5. Adicione uma imagem ao seu slide usando o método hslfSlideShow.addPicture(picture, HSLFPictureData.PictureType.PNG). O método aceita bytes de imagem e tipo de imagem como argumentos
  6. Escreva e salve o arquivo

Adicionar imagem em PPT - Java

// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("AddImage.ppt"));
// create a new slide show
HSLFSlideShow hslfSlideShow = new HSLFSlideShow();
// create slide
HSLFSlide slide = hslfSlideShow.createSlide();
// load image
byte[] picture = IOUtils.toByteArray(new FileInputStream(new File("apache-poi-logo-min.png")));
// add image
HSLFPictureData hslfPictureData = hslfSlideShow.addPicture(picture, HSLFPictureData.PictureType.PNG);
HSLFPictureShape pictureShape = slide.createPicture(hslfPictureData);
// save file
hslfSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();

Converter slides em formatos de imagem usando a API Java

A API Apache POI HSLF permite que os desenvolvedores de software convertam cada slide de uma apresentação do PowerPoint em um formato de arquivo de imagem dentro de seus aplicativos Java. Você pode capturar slides no objeto java.awt.Graphics2D (ou qualquer outro) e serializá-lo em um formato PNG ou JPEG. As imagens suportadas podem estar em JPEG, PNG, DIB e assim por diante.

Converter PPT em Imagem - Java

//open an existing PPT file
HSLFSlideShow hslfSlideShow = new HSLFSlideShow(new FileInputStream(new File("PPTtoImage.ppt")));
// get dimensions
Dimension pgsize = hslfSlideShow.getPageSize();
java.util.List slide = hslfSlideShow.getSlides();
for (int i = 0; i < slide.size(); i++) {
  BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,BufferedImage.TYPE_INT_RGB);
  Graphics2D graphics = img.createGraphics();
  // clear the drawing area
  graphics.setPaint(Color.white);
  graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
  // render
  slide.get(i).draw(graphics);
  // create image
  FileOutputStream out = new FileOutputStream("PPTtoImage.png");
  javax.imageio.ImageIO.write(img, "png", out);
  out.close();
}
 Português