Публичный API и несовместимые изменения в Aspose.Slides для Java 14.9.0
Изменения публичного API
Добавленные методы для замены изображения на PPImage, IPPImage
Добавлены новые методы:
- IPPImage.replaceImage(byte[] newImageData)
- IPPImage.replaceImage(IPPImage newImage)
Presentation presentation = new Presentation("presentation.pptx");
//Первый способ
byte[] imageData = // ...
presentation.getImages().get_Item(0).replaceImage(imageData);
//Второй способ
presentation.getImages().get_Item(1).replaceImage(
presentation.getImages().get_Item(0));
presentation.save("presentation_out.pptx", SaveFormat.Pptx);
Добавленные методы для сохранения слайдов с сохранением номеров страниц
Добавлены следующие методы:
- 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);
Эти методы позволяют сохранять указанные слайды презентации в форматы PDF, XPS, TIFF, HTML. Массив ‘slides’ позволяет указывать номера страниц, начиная с 1.
save(string fname, int[] slides, SaveFormat format);
Presentation presentation = new Presentation(presentationFileName);
int[] slides = new int[] { 2, 3, 5 }; //Массив позиций слайдов
presentation.save(outFileName, slides, SaveFormat.Pdf);
Добавлено значение перечисления SmartArtLayoutType.Custom
Этот тип макета SmartArt представляет диаграмму с настраиваемым шаблоном. Пользовательские диаграммы могут быть загружены только из файла презентации и не могут быть созданы с помощью метода ShapeCollection.addSmartArt(x, y, width, height, SmartArtLayoutType.Custom)
Добавлен класс SmartArtShape и интерфейс ISmartArtShape
Класс Aspose.Slides.SmartArt.SmartArtShape (и его интерфейс Aspose.Slides.SmartArt.ISmartArtShape) предоставляет доступ к отдельным фигурам внутри диаграммы SmartArt. SmartArtShape может быть использован для изменения FillFormat, LineFormat, добавления гиперссылок и т.д.
Пример использования:
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);
Класс SmartArtShapeCollection, интерфейс ISmartArtShapeCollection и метод ISmartArtNode.getShapes() были добавлены
Класс Aspose.Slides.SmartArt.SmartArtShapeCollection (и его интерфейс Aspose.Slides.SmartArt.ISmartArtShapeCollection) предоставляет доступ к отдельным фигурам внутри диаграммы SmartArt. Коллекция содержит фигуры, связанные с SmartArtNode. Свойство SmartArtNode.Shapes возвращает коллекции всех фигур, связанных с узлом.
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);