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

Aspose.Slides FOSS para Java

Crie, leia e edite apresentações do PowerPoint – grátis e de código aberto, sem necessidade de dependência do Office.

Biblioteca Java de código aberto para apresentações PowerPoint

Aspose.Slides FOSS para Java é uma biblioteca pura-Java licenciada sob MIT para trabalhar com arquivos PowerPoint .pptx. 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 Presentation 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 XML desconhecidas 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. A biblioteca requer JDK 21 ou superior e não possui extensões nativas para compilar.

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 a SlideCollection com addClone(), addEmptySlide(), remove() e removeAt().
  • AutoShapes: Insira retângulos, elipses, linhas e outras geometrias ShapeType via addAutoShape().
  • Tables e Connectors: 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 templates: Preencha templates 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.
  • Back‑ends sem servidor: Processar arquivos PPTX dentro de contêineres Docker ou funções Lambda.
  • Processamento em lote: Aplicar alterações de formatação uniformes em grandes bibliotecas de decks de slides.

Formatação de texto e efeitos visuais

  • Formatação ao nível de caractere: Aplique negrito, itálico, tamanho de fonte e cor a objetos Portion individuais via getPortionFormat().
  • Preenchimentos sólido e gradiente: Defina o preenchimento da forma como 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 alinhamento à esquerda, centralizado, à direita ou justificado por parágrafo usando getParagraphFormat().setAlignment().
  • Segurança em ida e volta: Partes XML desconhecidas são preservadas literalmente ao salvar novamente.

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 modelo de objetos próprio do PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), portanto 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 superior.

Criar uma Apresentação e Adicionar uma Forma

Use try-with-resources para garantir que o Presentation seja sempre fechado e os recursos liberados. addAutoShape() recebe um enum ShapeType, depois a posição x/y e a largura/altura em pontos — o método getTextFrame().setText() da forma define o rótulo em uma única chamada.

<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);

    // Adiciona um AutoShape retangular
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.getTextFrame().setText("Olá, Aspose.Slides!");

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

Formatar Texto e Aplicar um Efeito de Preenchimento

A formatação de texto funciona no nível de Portion — a menor unidade de uma sequência de caracteres. Abra o arquivo salvo, navegue até a primeira portion do primeiro parágrafo e defina as propriedades da fonte via getters e setters. O preenchimento da forma é independente: defina FillType como 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")) {
    IShape shape = prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Texto em negrito, 18pt, azul-escuro
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Preenchimento de fundo sólido na forma
    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 gratuita, licenciada sob MIT, pure-Java, para criar, ler e editar apresentações PowerPoint .pptx sem exigir o Microsoft Office.

Quais formatos de arquivo são suportados?

PPTX é o formato de leitura/gravação suportado. Exportar 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 pure-Java sem dependência do Microsoft Office, automação COM ou qualquer runtime proprietário.

Como faço para instalá‑lo?

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. É necessário JDK 21 ou superior.

Posso aplicar efeitos visuais como sombra e brilho?

Sim. A biblioteca suporta efeitos de sombra externa, brilho, desfoque e 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 XML desconhecidas 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