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

Обзор

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

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

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

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

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

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

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

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

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

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

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

// Создать экземпляр класса Presentation, представляющий файл презентации
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // Создать изображение в полном масштабе
    IImage 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 (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

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

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

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

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

// Создать экземпляр класса Presentation, представляющий файл презентации
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // Создать изображение в полном масштабе
    IImage 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 (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

FAQ

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

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

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

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

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

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

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

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

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

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