Отображение слайдов презентации как SVG‑изображений в .NET

Обзор

В этой статье объясняется, как конвертировать презентацию PowerPoint в формат SVG с помощью C#. Рассматриваются следующие темы.

Формат: PowerPoint

Формат: PPT

Формат: PPTX

Формат: ODP

Формат: Slide

Другие темы, рассматриваемые в статье.

Формат SVG

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

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

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

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

Отображение слайда как SVG‑изображения

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

Шаги: Конвертация PowerPoint в SVG в C#

Ниже приведён пример кода, демонстрирующий эти конвертации на платформе .NET.

Код шагов:

  1. Создайте экземпляр класса Presentation.
    • расширение .ppt для загрузки PPT‑файла в класс Presentation.
    • расширение .pptx для загрузки PPTX‑файла в класс Presentation.
    • расширение .odp для загрузки ODP‑файла в класс Presentation.
    • расширение .pps для загрузки PPS‑файла в класс Presentation.
  2. Пройдитесь по всем слайдам презентации.
  3. Запишите каждый слайд в отдельный SVG‑файл через FileStream.

Ниже показан пример кода на C#, демонстрирующий, как конвертировать PowerPoint в SVG с помощью Aspose.Slides:

// Объект Presentation может загружать форматы PowerPoint такие как PPT, PPTX, ODP и т.д.
using (Presentation pres = new Presentation("pres.pptx"))
{
    for (var index = 0; index < pres.Slides.Count; index++)
    {
        ISlide slide = pres.Slides[index];

        using (FileStream fileStream = new FileStream($"slide-{index}.svg", FileMode.Create, FileAccess.Write))
        {
            slide.WriteAsSvg(fileStream);   
        }
    }
}

FAQ

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

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

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

Да. Любую фигуру можно сохранить как отдельный SVG, что удобно для иконок, пиктограмм и повторного использования графики.

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

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

См. также

Эта статья также охватывает перечисленные ниже темы. Коды такие же, как выше.

Формат: PowerPoint

Формат: PPT

Формат: PPTX

Формат: ODP