Публичный API и несовместимые изменения в Aspose.Slides для PHP через Java 14.9.0

Изменения в публичном API

Добавлены методы для замены изображения в PPImage, IPPImage

Добавлены новые методы:

  • IPPImage.replaceImage(byte[] newImageData)
  • IPPImage.replaceImage(IPPImage newImage)
  $presentation = new Presentation("presentation.pptx");
  # Первый способ
  # ...
  $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, $slides, SaveFormat);

  $presentation = new Presentation($presentationFileName);
  $slides = array(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, добавления гиперссылок и т.д.

Пример использования:

  $pres = new Presentation();
  $smart = $pres->getSlides()->get_Item(0)->getShapes()->addSmartArt(10, 10, 400, 300, SmartArtLayoutType::BasicBlockList);
  $node = $smart->getAllNodes()->get_Item(0);
  foreach($node->getShapes() as $shape) {
    $shape->getFillFormat()->setFillType(FillType::Solid);
    $shape->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
  }
  $pres->save("out.pptx", SaveFormat::Pptx);

Добавлены класс SmartArtShapeCollection, интерфейс ISmartArtShapeCollection и метод ISmartArtNode.getShapes()

Класс Aspose.Slides.SmartArt.SmartArtShapeCollection (и его интерфейс Aspose.Slides.SmartArt.ISmartArtShapeCollection) предоставляет доступ к отдельным фигурам внутри диаграммы SmartArt. Коллекция содержит фигуры, связанные с SmartArtNode. Свойство SmartArtNode.Shapes возвращает коллекции всех фигур, связанных с узлом.

  $pres = new Presentation();
  $smart = $pres->getSlides()->get_Item(0)->getShapes()->addSmartArt(10, 10, 400, 300, SmartArtLayoutType::BasicBlockList);
  $node = $smart->getAllNodes()->get_Item(0);
  foreach($node->getShapes() as $shape) {
    $shape->getFillFormat()->setFillType(FillType::Solid);
    $shape->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->RED);
  }
  $pres->save("out.pptx", SaveFormat::Pptx);