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

Apache POI XSLF  

 
 

API Java de código aberto para apresentações PPTX

Crie, edite e mescle apresentações OOXML do Microsoft PowerPoint por meio da biblioteca Java.

Apache POI XLSF é uma implementação Java para leitura, criação ou edição de arquivos PowerPoint PPTX. Ele fornece a funcionalidade necessária para trabalhar com o formato de arquivo OOXML do PowerPoint 2007, permitindo que os desenvolvedores extraiam dados como texto, imagens, objetos incorporados e muito mais de apresentações do PowerPoint PPTX. Os desenvolvedores também podem adicionar formas a um slide, gerenciar hiperlinks e imagens, adicionar vídeos e converter PPTX para SVG.

Previous Next

Introdução ao Apache POI XLSF

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</artifactId>
  <version>4.1.0</version>
</dependency>

API Java para criar novas apresentações e anexar slide ao arquivo existente

O Apache POI XLSF permite que os programadores de computador criem novas apresentações do PowerPoint no formato de arquivo PPTX a partir do zero. Os desenvolvedores também podem transformar uma apresentação existente de acordo com suas necessidades. Ele fornece a capacidade de ler e modificar as apresentações existentes, bem como anexar slides à apresentação existente de acordo com suas necessidades.

Criar apresentação e adicionar slide - Java

// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);

Criar novo slide a partir de um layout de slide predefinido em aplicativos Java

A API Apache POI XLSF inclui suporte para adicionar novos slides de um layout de slide predefinido dentro da apresentação PPTX. Layouts de slide contêm caixas de formatação, posicionamento e espaço reservado para todo o conteúdo que aparece em um slide. As apresentações do PowerPoint têm vários layouts de slides; em primeiro lugar, você precisa ver quais layouts de slide estão disponíveis para uso. Existem diferentes slides mestres e em cada slide mestre, existem vários layouts de slides. 

Slide de layout de título - Java

// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slidelayout.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// initialize slide master object
XSLFSlideMaster xslfSlideMaster = xmlSlideShow.getSlideMasters().get(0);
// set Title layout
XSLFSlideLayout xslfSlideLayout = xslfSlideMaster.getLayout(SlideLayout.TITLE);
// create a new slide with title layout
XSLFSlide xslfSlide = xmlSlideShow.createSlide(xslfSlideLayout);
// select place holder
XSLFTextShape xslfTextShape = xslfSlide.getPlaceholder(0);
// set title
xslfTextShape.setText("Test");
// save file
xmlSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();

Mesclar várias apresentações PPTX usando Java

Você tem várias apresentações PPTX que deseja combinar em uma apresentação? As APIs Apache POI XLSF certamente podem ajudá-lo e permitem que os desenvolvedores Java mesclem seus vários arquivos PPTX.

Mesclar os slides da apresentação - Java

// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream("MergegSlide.pptx");
// select two PPTX files
String[] inputFiles = {"Slide.pptx", "SlideLayout.pptx"};
// create a new slide show
XMLSlideShow slideShow = new XMLSlideShow();
// merge slides
for(String file : inputFiles){
  FileInputStream inputstream = new FileInputStream(file);
  XMLSlideShow xmlSlideShow = new XMLSlideShow(inputstream);
  for(XSLFSlide srcSlide : xmlSlideShow.getSlides()) {
    slideShow.createSlide().importContent(srcSlide);
  }
}
// saving file
slideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
 Português