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

Введение

Aspose.Slides for Python via .NET используется для создания файлов презентаций, где каждая страница является слайдом. Вы можете просматривать эти слайды в Microsoft PowerPoint, открыв файл презентации. Однако разработчикам иногда требуется просматривать изображения фигур отдельно в просмотрщике изображений. В таких случаях Aspose.Slides может генерировать миниатюрные изображения фигур слайдов. В этой статье объясняется, как использовать эту функцию.

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

Когда вам нужен предварительный просмотр конкретного объекта, а не всего слайда, вы можете отрендерить миниатюру отдельной фигуры. Aspose.Slides позволяет экспортировать любую фигуру в изображение, что упрощает создание легковесных предварительных просмотров, иконок или ресурсов для последующей обработки.

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

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

Пример ниже генерирует миниатюру фигуры.

import aspose.slides as slides

# Создайте экземпляр класса Presentation, чтобы открыть файл презентации.
with slides.Presentation("hello_world.pptx") as presentation:
    slide = presentation.slides[0]
    shape = slide.shapes[0]
    
    # Создайте изображение с масштабом по умолчанию.
    with shape.get_image() as thumbnail:
        # Сохраните изображение на диск в формате PNG.
        thumbnail.save("shape_thumbnail.png", slides.ImageFormat.PNG)

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

В этом разделе показано, как в Aspose.Slides генерировать миниатюры фигур с пользовательским коэффициентом масштабирования. Управляя масштабом, вы можете точно настроить размер миниатюры для предварительных просмотров, экспорта или дисплеев с высоким DPI.

Чтобы создать миниатюру любой фигуры на слайде:

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

Пример ниже генерирует миниатюру с пользовательским коэффициентом масштабирования.

import aspose.slides as slides

scale_x = 2.0
scale_y = scale_x

    # Создайте экземпляр класса Presentation, чтобы открыть файл презентации.
with slides.Presentation("hello_world.pptx") as presentation:
    slide = presentation.slides[0]
    shape = slide.shapes[0]
    
    # Создайте изображение с заданным масштабом.
    with shape.get_image(slides.ShapeThumbnailBounds.SHAPE, scale_x, scale_y) as thumbnail:
        # Сохраните изображение на диск в формате PNG.
        thumbnail.save("scaling_factor.png", slides.ImageFormat.PNG)

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

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

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

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

Пример ниже создаёт миниатюру с пользовательски заданными границами.

import aspose.slides as slides

image_bounds = slides.ShapeThumbnailBounds.APPEARANCE

# Создайте экземпляр класса Presentation, чтобы открыть файл презентации.
with slides.Presentation("hello_world.pptx") as presentation:
    slide = presentation.slides[0]
    shape = slide.shapes[0]

    # Создайте изображение фигуры в пределах границ отображения.
    with shape.get_image(image_bounds, 1.0, 1.0) as thumbnail:
        # Сохраните изображение на диск в формате PNG.
        thumbnail.save("apperance_bounds.png", slides.ImageFormat.PNG)

FAQ

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

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

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

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

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

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

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

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

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

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