1. Produtos
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS para Java

Crie, leia e edite apresentações PowerPoint a partir de Java — gratuito e de código aberto, sem dependência do Office.

Biblioteca Java de Código Aberto para Apresentações PowerPoint

Aspose.Slides FOSS para Java é uma biblioteca pure-Java licenciada sob MIT para trabalhar com arquivos .pptx do PowerPoint. Adicione uma única dependência Maven e comece imediatamente a criar, ler e editar apresentações sem instalar o Microsoft Office ou qualquer runtime proprietário.

A biblioteca expõe uma API de Apresentação construída em torno de Presentation, Slide, Shape, TextFrame, Paragraph e Portion, o modelo conceitual usado pelo próprio PowerPoint. Adicione e remova slides, insira AutoShapes, Tabelas e Conectores, formate texto ao nível de caractere com negrito, itálico, tamanho e cor da fonte, aplique preenchimentos sólidos ou em gradiente e adicione efeitos visuais (sombra, brilho, desfoque, reflexão).

A classe Presentation implementa AutoCloseable, portanto use try-with-resources para limpeza confiável. Partes desconhecidas de XML encontradas durante o carregamento são preservadas literalmente ao salvar, de modo que o round-tripping nunca destrói conteúdo que a biblioteca ainda não entende. Para recursos adicionais e suporte, veja Aspose.Slides for Java enterprise edition.

API de Apresentação e Slide

  • Criar e abrir PPTX: Crie novas apresentações ou abra arquivos .pptx existentes via new Presentation() ou new Presentation(path).
  • Adicionar e remover slides: Gerencie programaticamente o SlideCollection com addClone(), addEmptySlide(), remove() e removeAt().
  • AutoShapes: Insira retângulos, elipses, linhas e outras ShapeType geometrias via addAutoShape().
  • Tabelas e Conectores: Adicione formas de tabela estruturadas e linhas de conexão entre formas via addConnector().
  • Notas do apresentador: Leia e escreva notas do apresentador por slide através de NotesSlideManager.
  • Comentários em tópicos: Acesse os tópicos de comentários ao nível do slide com getSlideComments().

Onde Aspose.Slides FOSS pode ser usado

  • Geração de relatórios: Crie decks de slides com marca a partir de fontes de dados sem o Office.
  • Automação de modelo: Preencha modelos PPTX com conteúdo dinâmico em pipelines CI/CD.
  • Migração de conteúdo: Leia apresentações existentes e reestruture ou reformate os slides.
  • Backends sem servidor: Processar arquivos PPTX dentro de contêineres Docker ou funções Lambda.
  • Processamento em lote: Aplique alterações de formatação uniformes em grandes bibliotecas de decks de slides.

Formatação de Texto e Efeitos Visuais

  • Formatação de nível de caractere: Aplique negrito, itálico, tamanho de fonte e cor a objetos individuais Portion via getPortionFormat().
  • Preenchimentos sólidos e gradientes: Defina o preenchimento da forma para uma cor sólida ou gradiente linear de múltiplas paradas usando getFillFormat() e FillType.
  • Efeitos de sombra e brilho: Aplique sombra externa, brilho, desfoque e reflexão a qualquer forma via getEffectFormat().
  • Alinhamento de parágrafo: Defina o alinhamento à esquerda, centralizado, à direita ou justificado por parágrafo usando getParagraphFormat().setAlignment().
  • Round-trip safe: Partes desconhecidas de XML são preservadas literalmente ao re‑salvar.

Experiência do desenvolvedor

Aspose.Slides FOSS instala com uma única dependência Maven (org.aspose.slides.foss:aspose-slides-foss). A biblioteca é pura Java sem extensões nativas para compilar e sem pacotes de sistema para instalar.

A API espelha o próprio modelo de objetos do PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), de modo que qualquer pessoa familiarizada com o modelo de objetos do PowerPoint pode usar a biblioteca imediatamente. É licenciada sob MIT, de código aberto no GitHub, e requer JDK 21 ou posterior.

Crie uma Apresentação e Adicione uma Forma

Use try-with-resources para garantir que o Presentation seja sempre fechado e os recursos sejam liberados. addAutoShape() recebe um enum ShapeType, depois a posição x/y e a largura/altura em pontos. Chame addTextFrame() para criar a moldura de texto e definir o texto inicial em uma única chamada — não chame getTextFrame() antes de addTextFrame() pois a moldura é nula até ser criada.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
import org.aspose.slides.foss.*;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

Formatar Texto e Aplicar um Efeito de Preenchimento

A formatação de texto funciona no nível Portion — a menor unidade de uma sequência de caracteres. Abra o arquivo salvo, navegue até a primeira parte do primeiro parágrafo e defina as propriedades da fonte via getters e setters. O preenchimento da forma é independente: defina FillType para SOLID e atribua uma cor via getSolidFillColor().setColor().

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 

Perguntas Frequentes

O que é Aspose.Slides FOSS para Java?

É uma biblioteca pure-Java gratuita, licenciada sob MIT, para criar, ler e editar apresentações .pptx do PowerPoint sem exigir o Microsoft Office.

Quais formatos de arquivo são suportados?

.pptx é o formato de leitura/gravação suportado. A exportação para PDF, HTML, SVG ou imagens não está disponível nesta edição.

Ele requer Microsoft Office ou PowerPoint?

Não. Aspose.Slides FOSS é uma biblioteca pura-Java sem dependência do Microsoft Office, automação COM ou qualquer runtime proprietário.

Como eu o instalo?

Adicione a dependência Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 ao seu projeto. Nenhum pacote de sistema adicional ou extensões nativas são necessários. JDK 21 ou superior é necessário.

Posso aplicar efeitos visuais como sombra e brilho?

Sim. A biblioteca suporta sombra externa, brilho, desfoque e efeitos de reflexão em qualquer objeto de forma via a API EffectFormat.

O padrão try-with-resources é recomendado?

Sim. Presentation implementa AutoCloseable, portanto sempre use try (Presentation prs = new Presentation()) { ... } para uma limpeza confiável de recursos.

O round-tripping de um PPTX destruirá conteúdo desconhecido?

Não. Partes desconhecidas de XML encontradas durante o carregamento são preservadas literalmente ao salvar, de modo que o conteúdo que a biblioteca ainda não entende nunca é perdido.

Onde posso encontrar o código-fonte?

A biblioteca tem licença MIT e está hospedada no GitHub. Relatórios de bugs e pull requests são bem‑vindos.

  

Recursos de Suporte e Aprendizado

 Português