Создание миниатюр фигур презентации в PHP

Обзор

В этой теме мы покажем, как генерировать миниатюры слайдов в разных ситуациях:

  • Создание миниатюры фигуры внутри слайда.
  • Создание миниатюры фигуры слайда с пользовательскими размерами.
  • Создание миниатюры фигуры в границах её отображения.

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

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

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

Этот пример кода показывает, как создать миниатюру фигуры из слайда:

  # Создать объект класса Presentation, представляющий файл презентации
  $pres = new Presentation("Thumbnail.pptx");
  try {
    # Создать изображение в полном масштабе
    $slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage();
    # Сохранить изображение на диск в формате PNG
    try {
      $slideImage->save("output.png", ImageFormat::Png);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Создание миниатюры с пользовательским фактором масштабирования

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

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

Этот пример кода показывает, как создать миниатюру фигуры на основе заданного фактора масштабирования:

  # Создать объект класса Presentation, представляющий файл презентации
  $pres = new Presentation("Thumbnail.pptx");
  try {
    # Создать изображение в полном масштабе
    $slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage(ShapeThumbnailBounds->Shape, 1, 1);
    # Сохранить изображение на диск в формате PNG
    try {
      $slideImage->save("output.png", ImageFormat::Png);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Создание миниатюры отображения фигуры на основе границ

Этот метод создания миниатюр фигур позволяет разработчикам генерировать миниатюру в границах отображения фигуры. Он учитывает все эффекты фигуры. Сгенерированная миниатюра фигуры ограничена границами слайда. Чтобы создать миниатюру фигуры слайда в пределах её отображения, выполните следующее:

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

Этот пример кода основан на приведенных выше шагах:

  # Создать объект класса Presentation, представляющий файл презентации
  $pres = new Presentation("Thumbnail.pptx");
  try {
    # Создать изображение в полном масштабе
    $slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage(ShapeThumbnailBounds->Appearance, 1, 1);
    # Сохранить изображение на диск в формате PNG
    try {
      $slideImage->save("output.png", ImageFormat::Png);
    } finally {
      if (!java_is_null($slideImage)) {
        $slideImage->dispose();
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Вопросы и ответы

Какие форматы изображений можно использовать при сохранении миниатюр фигур?

PNG, JPEG, BMP, GIF, TIFF, и другие. Фигуры также можно экспортировать как векторный SVG, сохранив содержимое фигуры в формате SVG.

В чём разница между границами Shape и Appearance при отрисовке миниатюры?

Shape использует геометрию фигуры; Appearance учитывает визуальные эффекты (тени, свечения и т. д.).

Что происходит, если фигура помечена как скрытая? Будет ли она всё равно отрисована как миниатюра?

Скрытая фигура остаётся частью модели и может быть отрисована; флаг скрытия влияет на отображение в слайдшоу, но не препятствует созданию изображения фигуры.

Поддерживаются ли составные фигуры, диаграммы, SmartArt и другие сложные объекты?

Да. Любой объект, представленный как Shape (включая GroupShape, Chart, и SmartArt), можно сохранить как миниатюру или как SVG.

Влияют ли системные шрифты на качество миниатюр текстовых фигур?

Да. Необходимо предоставить требуемые шрифты (или настроить замену шрифтов), чтобы избежать нежелательных подстановок и переполнения текста.