Como Começar com Aspose.Slides FOSS para Java

Como Começar com Aspose.Slides FOSS para Java

aspose-slides-foss for Java é uma biblioteca gratuita, licenciada sob MIT, para criar e editar arquivos PowerPoint .pptx — sem necessidade do Microsoft Office, disponível no Maven Central.

Guia passo a passo

Etapa 1: Adicionar a dependência Maven

Adicione a dependência ao seu pom.xml (Java 21 ou posterior necessário):

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

Verifique se o pacote é resolvido corretamente ao compilar o projeto:

mvn dependency:resolve

Etapa 2: Importar classes necessárias

Importe as classes necessárias para carregar apresentações e salvar:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;

Passo 3: Criar uma Apresentação

Construa um Presentation sem argumentos para iniciar com um slide em branco. Sempre use try-with-resources para garantir que os recursos internos sejam liberados:

import org.aspose.slides.foss.Presentation;

try (Presentation prs = new Presentation()) {
    System.out.println("Slides: " + prs.getSlides().size());
    prs.save("new_presentation.pptx");
}

Etapa 4: Adicionar uma Forma com Texto

Use slide.getShapes().addAutoShape() para inserir um retângulo, então chame addTextFrame() para adicionar conteúdo de texto:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.NullableBool;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS!");
    IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
    fmt.setFontHeight(24);
    fmt.setFontBold(NullableBool.TRUE);
    prs.save("with_shape.pptx");
}

Etapa 5: Aplicar um Preenchimento e Salvar

Defina uma cor de preenchimento sólido na forma antes de salvar:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 100, 100, 400, 200
    );
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor().setColor(new Color(70, 130, 180));
    shape.addTextFrame("Styled shape");
    prs.save("styled.pptx");
}

Problemas Comuns e Soluções

ClassNotFoundException for org.aspose.slides.foss.Presentation A dependência Maven não foi resolvida. Execute mvn dependency:resolve e verifique se o artefato está disponível no Maven Central. Verifique a versão em pom.xml.

UnsupportedOperationException ao chamar certos métodos Alguns recursos (gráficos, animações, exportação PDF) lançam UnsupportedOperationException nesta versão. Verifique a seção de limitações conhecidas da referência da API antes de usar recursos avançados.

Coordenadas da forma parecem incorretas
As coordenadas e dimensões estão em EMU (Unidades Métricas Inglesas). Um ponto equivale a aproximadamente
12700 EMU. O slide padrão tem 9144000 × 6858000 EMU.

Arquivo não encontrado ao carregar um PPTX existente
Passe um caminho absoluto ou certifique‑se de que o diretório de trabalho está definido corretamente:

import java.nio.file.Paths;
String path = Paths.get("presentations", "existing.pptx").toAbsolutePath().toString();
try (Presentation prs = new Presentation(path)) { ... }

Perguntas Frequentes

O aspose-slides-foss requer Microsoft Office?

Não. A biblioteca cria e lê arquivos .pptx nativamente em Java puro, sem dependência do Microsoft Office, automação COM ou APIs do Windows.

Quais versões do Java são suportadas?

Java 21 ou posterior. A biblioteca funciona em Windows, macOS, Linux e contêineres Docker.

A biblioteca é gratuita para uso comercial?

Sim. Ele é lançado sob a Licença MIT. Você pode usar, modificar e redistribuir para qualquer finalidade, incluindo aplicações comerciais.

Posso carregar um arquivo PPTX existente?

Sim. Passe o caminho do arquivo para o construtor Presentation:

try (Presentation prs = new Presentation("existing.pptx")) {
    System.out.println("Loaded " + prs.getSlides().size() + " slides");
    prs.save("copy.pptx");
}

Preciso fechar a Presentation explicitamente?

Sim. Presentation implementa AutoCloseable. Sempre use try-with-resources (try (Presentation prs = new Presentation()) { ... }) para garantir a limpeza.

Veja também

 Português