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:resolveEtapa 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.