Perguntas Frequentes

Perguntas Frequentes

Perguntas Frequentes

Como faço para instalar o Aspose.Slides FOSS?

Adicione a dependência Maven 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 a instalação:

import org.aspose.slides.foss.Presentation;

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

Nenhum Microsoft Office ou outro runtime de sistema é necessário.


Por que devo chamar dispose() em Presentation?

A classe Presentation gerencia recursos internos do pacote OPC. Sem chamar dispose(), esses recursos não são liberados, o que pode causar vazamentos de memória ou bloqueios de arquivos. Sempre use try-finally:

Presentation prs = new Presentation("input.pptx");
try {
    // work here
    prs.save("output.pptx", SaveFormat.PPTX);
} finally {
    prs.dispose();
}

Alternativamente, use try-with-resources já que Presentation implementa AutoCloseable:

try (Presentation prs = new Presentation("input.pptx")) {
    prs.save("output.pptx", SaveFormat.PPTX);
}

Em quais formatos de arquivo posso salvar?

Apenas PPTX é suportado:

import org.aspose.slides.foss.export.SaveFormat;

prs.save("output.pptx", SaveFormat.PPTX);

Exportar para PDF, HTML, SVG ou formatos de imagem (PNG, JPEG) não está disponível nesta edição.


Posso abrir .ppt (arquivos antigos do PowerPoint 97-2003)?

Não. Apenas arquivos .pptx (Office Open XML) são suportados. O formato binário legado .ppt não é tratado por esta biblioteca.


Como acesso os slides?

Os slides são uma coleção baseada em zero acessível via prs.getSlides():

ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();

Como adiciono um segundo slide?

Use prs.getSlides().addEmptySlide() com um layout:

try (Presentation prs = new Presentation()) {
    ILayoutSlide layout = prs.getLayoutSlides().get(0);
    prs.getSlides().addEmptySlide(layout);
    ISlide slide2 = prs.getSlides().get(1);
    prs.save("two-slides.pptx", SaveFormat.PPTX);
}

Como defino a cor de fundo do slide?

A cor de fundo do slide não é suportada nesta edição do Aspose.Slides FOSS. Não há método getBackground() em ISlide ou em qualquer outra classe desta biblioteca. O fundo do slide é fixo quando a apresentação é criada a partir de seu modelo. Uma edição futura pode adicionar controle de fundo.


Como eu uso NullableBool?

NullableBool é um enum de três estados usado para propriedades de formatação. Use NullableBool.TRUE (não o true do Java) para negrito, itálico e propriedades semelhantes:

import org.aspose.slides.foss.NullableBool;

fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);

Por que definir a cor do texto não tem efeito?

Você também deve definir fillType para FillType.SOLID antes de atribuir a cor:

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

fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(255, 200, 0, 0));

Posso usar gráficos ou SmartArt?

Não. Gráficos, SmartArt, objetos OLE, animações, transições, hyperlinks, macros VBA e assinaturas digitais não são implementados nesta edição e geram UnsupportedOperationException.


A biblioteca é thread‑safe?

Cada objeto Presentation é independente. Criar e usar instâncias separadas de Presentation a partir de threads distintas é seguro, desde que você não compartilhe um único objeto Presentation entre threads sem sincronização externa.


Como incorporo uma imagem?

Leia os bytes da imagem e adicione‑os a prs.getImages(), então crie um PictureFrame:

import org.aspose.slides.foss.ShapeType;

byte[] imageData = java.nio.file.Files.readAllBytes(
    java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);

Veja Também

 Português