Просмотрщик презентаций

Живой пример

Вы можете попробовать бесплатное приложение Aspose.Slides Viewer, чтобы увидеть, что вы можете реализовать с помощью API Aspose.Slides:

todo:image_alt_text

Создание SVG-изображения из слайда

Чтобы создать SVG-изображение из любого желаемого слайда с помощью Aspose.Slides для PHP через Java, выполните следующие шаги:

  • Создайте экземпляр класса Presentation.
  • Получите ссылку на нужный слайд, используя его идентификатор или индекс.
  • Получите SVG-изображение в потоке памяти.
  • Сохраните поток памяти в файл.
  # Создайте экземпляр класса Presentation, который представляет файл презентации
  $pres = new Presentation("CreateSlidesSVGImage.pptx");
  try {
    # Получите первый слайд
    $sld = $pres->getSlides()->get_Item(0);
    # Создайте объект потока памяти
    $svgStream = new Java("java.io.FileOutputStream", "Aspose_out.svg");
    # Создайте SVG-изображение слайда и сохраните в поток памяти
    $sld->writeAsSvg($svgStream);
    $svgStream->close();
  } catch (JavaException $e) {
  } finally {
    $pres->dispose();
  }

Создание SVG с пользовательскими идентификаторами фигур

Aspose.Slides для PHP через Java можно использовать для создания SVG из слайда с пользовательским идентификатором фигуры. Для этого используйте свойство ID из ISvgShape, которое представляет собой пользовательский идентификатор фигур в сгенерированном SVG. CustomSvgShapeFormattingController можно использовать для установки идентификатора фигуры.


  class CustomSvgShapeFormattingController {
    private $m_shapeIndex;

    function __construct() {
      $this->m_shapeIndex = 0;
    }

    function __construct($shapeStartIndex) {
      $this->m_shapeIndex = $shapeStartIndex;
    }

    function formatShape($svgShape, $shape) {
      $svgShape->setId(sprintf("shape-%d", $m_shapeIndex++));
    }
  }

  $pres = new Presentation("pptxFileName.pptx");
  try {
    $stream = new Java("java.io.FileOutputStream", "Aspose_out.svg");
    try {
      $svgOptions = new SVGOptions();
      $shapeFormattingController = java_closure(new CustomSvgShapeFormattingController(), null, java("com.aspose.slides.ISvgShapeFormattingController"));
      $svgOptions->setShapeFormattingController($shapeFormattingController);
      $pres->getSlides()->get_Item(0)->writeAsSvg($stream, $svgOptions);
    } finally {
      if (!java_is_null($stream)) {
        $stream->close();
      }
    }
  } catch (JavaException $e) {
  } finally {
    $pres->dispose();
  }

Создание миниатюры слайда

Aspose.Slides для PHP через Java поможет вам создать миниатюры изображений слайдов. Чтобы создать миниатюру любого желаемого слайда с помощью Aspose.Slides для PHP через Java:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой желаемый слайд, используя его идентификатор или индекс.
  3. Получите миниатюру изображения ссылающегося слайда на указанном масштабе.
  4. Сохраните миниатюру изображения в любом желаемом формате изображения.
  # Создайте экземпляр класса Presentation, который представляет файл презентации
  $pres = new Presentation("ThumbnailFromSlide.pptx");
  try {
    # Получите первый слайд
    $sld = $pres->getSlides()->get_Item(0);
    # Создайте изображение в полном масштабе
    $slideImage = $sld->getImage(1.0, 1.0);
    # Сохраните изображение на диск в формате JPEG
    try {
      $slideImage->save("Thumbnail_out.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    $pres->dispose();
  }

Создание миниатюры с заданными пользователем размерами

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой желаемый слайд, используя его идентификатор или индекс.
  3. Получите миниатюру изображения ссылающегося слайда на указанном масштабе.
  4. Сохраните миниатюру изображения в любом желаемом формате изображения.
  # Создайте экземпляр класса Presentation, который представляет файл презентации
  $pres = new Presentation("ThumbnailWithUserDefinedDimensions.pptx");
  try {
    # Получите первый слайд
    $sld = $pres->getSlides()->get_Item(0);
    # Размеры, заданные пользователем
    $desiredX = 1200;
    $desiredY = 800;
    # Получение масштабированного значения X и Y
    $ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
    $ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
    # Создайте изображение в полном масштабе
    $slideImage = $sld->getImage($ScaleX, $ScaleY);
    # Сохраните изображение на диск в формате JPEG
    try {
      $slideImage->save("Thumbnail_out.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    $pres->dispose();
  }

Создание миниатюры из слайда в режиме заметок

Чтобы создать миниатюру любого желаемого слайда в режиме заметок, используя Aspose.Slides для PHP через Java:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на любой желаемый слайд, используя его идентификатор или индекс.
  3. Получите миниатюру изображения ссылающегося слайда на указанном масштабе в режиме заметок.
  4. Сохраните миниатюру изображения в любом желаемом формате изображения.

Следующий фрагмент кода производит миниатюру первого слайда презентации в режиме заметок.

  # Создайте экземпляр класса Presentation, который представляет файл презентации
  $pres = new Presentation("ThumbnailWithUserDefinedDimensions.pptx");
  try {
    # Получите первый слайд
    $sld = $pres->getSlides()->get_Item(0);
    # Размеры, заданные пользователем
    $desiredX = 1200;
    $desiredY = 800;
    # Получение масштабированного значения X и Y
    $ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
    $ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
    $opts = new RenderingOptions();
    $opts->getNotesCommentsLayouting()->setNotesPosition(NotesPositions::BottomTruncated);
    # Создайте изображение в полном масштабе
    $slideImage = $sld->getImage($opts, $ScaleX, $ScaleY);
    # Сохраните изображение на диск в формате JPEG
    try {
      $slideImage->save("Thumbnail_out.jpg", ImageFormat::Jpeg);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    $pres->dispose();
  }