API pública e alterações incompatíveis retroativas no Aspose.Slides para Java 14.9.0
Alterações da API Pública
Métodos adicionados para substituir imagem por PPImage, IPPImage
Novos métodos adicionados:
- IPPImage.replaceImage(byte[] newImageData)
- IPPImage.replaceImage(IPPImage newImage)
Presentation presentation = new Presentation("presentation.pptx");
// A primeira forma
byte[] imageData = // ...
presentation.getImages().get_Item(0).replaceImage(imageData);
// A segunda forma
presentation.getImages().get_Item(1).replaceImage(
presentation.getImages().get_Item(0));
presentation.save("presentation_out.pptx", SaveFormat.Pptx);
Métodos adicionados para salvar slides mantendo números de página
Os seguintes métodos foram adicionados:
- void IPresentation.save(string fname, int[] slides, SaveFormat format);
- void IPresentation.save(string fname, int[] slides, SaveFormat format, ISaveOption options);
- void IPresentation.save(Stream stream, int[] slides, SaveFormat format);
- void IPresentation.save(Stream stream, int[] slides, SaveFormat format, ISaveOption options);
Esses métodos permitem salvar os slides especificados da apresentação nos formatos PDF, XPS, TIFF, HTML. O array slides permite especificar os números das páginas, começando em 1.
save(string fname, int\[\] slides, SaveFormat format);
Presentation presentation = new Presentation(presentationFileName);
int[] slides = new int[] { 2, 3, 5 }; //Array de posições dos slides
presentation.save(outFileName, slides, SaveFormat.Pdf);
Valor Custom do enum SmartArtLayoutType adicionado
Esse tipo de layout SmartArt representa um diagrama com modelo customizado. Diagramas customizados só podem ser carregados a partir de um arquivo de apresentação e não podem ser criados via método ShapeCollection.addSmartArt(x, y, width, height, SmartArtLayoutType.Custom).
Classe SmartArtShape e interface ISmartArtShape adicionadas
A classe Aspose.Slides.SmartArt.SmartArtShape (e sua interface Aspose.Slides.SmartArt.ISmartArtShape) dão acesso às formas individuais dentro de um diagrama SmartArt. SmartArtShape pode ser usado para alterar FillFormat, LineFormat, adicionar hyperlinks etc.
SmartArtShape não oferece suporte às propriedades de IShape RawFrame, Frame, Rotation, X, Y, Width, Height e lança System.NotSupportedException ao tentar acessá‑las.
Exemplo de uso:
Presentation pres = new Presentation();
ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.BasicBlockList);
ISmartArtNode node = smart.getAllNodes().get_Item(0);
for (ISmartArtShape shape : node.getShapes())
{
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(Color.RED);
}
pres.save("out.pptx", SaveFormat.Pptx);
Classe SmartArtShapeCollection, interface ISmartArtShapeCollection e método ISmartArtNode.getShapes() adicionados
A classe Aspose.Slides.SmartArt.SmartArtShapeCollection (e sua interface Aspose.Slides.SmartArt.ISmartArtShapeCollection) dão acesso às formas individuais dentro de um diagrama SmartArt. A coleção contém as formas associadas a um SmartArtNode. A propriedade SmartArtNode.Shapes retorna coleções de todas as formas associadas ao nó.
SmartArtLayoutType, um SmartArtShape pode ser compartilhado entre vários nós.
Presentation pres = new Presentation();
ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.BasicBlockList);
ISmartArtNode node = smart.getAllNodes().get_Item(0);
for (ISmartArtShape shape : node.getShapes())
{
shape.getFillFormat().setFillType(FillType.Solid);
shape.getFillFormat().getSolidFillColor().setColor(Color.RED);
}
pres.save("out.pptx", SaveFormat.Pptx);