Рендеринг слайдов презентации в виде SVG‑изображений на Python

Преобразовать слайды в SVG

SVG — это аббревиатура от Scalable Vector Graphics, стандартный тип или формат графики, используемый для отображения двухмерных изображений. SVG хранит изображения как векторы в XML с деталями, определяющими их поведение или внешний вид.

SVG — один из немногих форматов изображений, который соответствует очень высоким требованиям в следующих областях: масштабируемость, интерактивность, производительность, доступность, программируемость и другие. По этим причинам он широко используется в веб‑разработке.

Возможно, вам понадобится использовать файлы SVG, когда необходимо

  • распечатать вашу презентацию в очень большом формате. SVG‑изображения могут масштабироваться до любого разрешения или уровня. Вы можете изменять размер SVG‑изображений сколько угодно раз без потери качества.
  • использовать диаграммы и графики из ваших слайдов в разных носителях или платформах. Большинство просмотровщиков способны интерпретировать SVG‑файлы.
  • получить наименьший возможный размер изображений. SVG‑файлы обычно меньше их высококачественных аналогов в других форматах, особенно в форматах на основе растровых изображений (JPEG или PNG).

Aspose.Slides for Python via .NET позволяет экспортировать слайды ваших презентаций в виде SVG‑изображений. Выполните следующие шаги для создания SVG‑изображений:

  1. Создайте экземпляр класса Presentation.
  2. Пройдите по всем слайдам презентации.
  3. Запишите каждый слайд в отдельный SVG‑файл с помощью FileStream.

Этот пример кода на Python показывает, как преобразовать PPT в SVG с помощью Aspose.Slides:

import aspose.slides as slides

# Создайте объект Presentation, представляющий файл презентации
pres = slides.Presentation("pres.pptx")

for index in range(pres.slides.length):
    slide = pres.slides[index]

    with open("slide-{index}.svg".format(index = index), "wb") as file:
        slide.write_as_svg(file)

FAQ

Почему полученный SVG может выглядеть по‑разному в разных браузерах?

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

Можно ли экспортировать не только слайды, но и отдельные фигуры в SVG?

Да. Любую shape can be saved as a separate SVG, что удобно для значков, пиктограмм и повторного использования графики.

Можно ли объединить несколько слайдов в один SVG (полоска/документ)?

Стандартный сценарий — один слайд → один SVG. Объединение нескольких слайдов в один холст SVG является постобработкой, выполняемой на уровне приложения.