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