Отображение слайдов презентации в виде SVG‑изображений на C++
SVG-формат
SVG — это аббревиатура от Scalable Vector Graphics — это стандартный тип графики или формат, используемый для отображения двумерных изображений. SVG хранит изображения как векторы в XML с деталями, определяющими их поведение или внешний вид.
SVG — один из немногих форматов изображений, отвечающих очень высоким требованиям в следующих аспектах: масштабируемость, интерактивность, производительность, доступность, программируемость и другие. По этим причинам его часто используют в веб‑разработке.
Вы можете захотеть использовать SVG‑файлы, когда нужно
- распечатать вашу презентацию в очень большом формате. SVG‑изображения могут масштабироваться до любой разрешения или уровня. Вы можете изменять размер SVG‑изображений столько раз, сколько потребуется, без потери качества.
- использовать диаграммы и графики из ваших слайдов в разных средах или платформах. Большинство программ могут интерпретировать SVG‑файлы.
- использовать самый маленький возможный размер изображений. SVG‑файлы обычно меньше, чем их высокоразрешённые аналоги в других форматах, особенно в форматах, основанных на растровой графике (JPEG или PNG).
Экспортировать слайд как SVG‑изображение
Aspose.Slides для C++ позволяет экспортировать слайды из ваших презентаций в виде SVG‑изображений. Выполните следующие шаги, чтобы создать SVG‑изображения:
- Создайте экземпляр класса Presentation.
- Пройдите по всем слайдам в презентации.
- Запишите каждый слайд в отдельный SVG‑файл через FileStream.
Этот пример кода на C++ показывает, как преобразовать PPT в SVG с помощью Aspose.Slides:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
for (int32_t index = 0; index < pres->get_Slides()->get_Count(); index++)
{
auto fileName = String::Format(u"slide-{0}.svg", index);
auto fileStream = System::MakeObject<FileStream>(fileName, FileMode::Create, FileAccess::Write);
auto slide = pres->get_Slides()->idx_get(index);
slide->WriteAsSvg(fileStream);
}
FAQ
Почему полученный SVG может выглядеть по‑разному в разных браузерах?
Поддержка конкретных функций SVG реализуется по‑разному движками браузеров. Параметры SVGOptions помогают сгладить несовместимости.
Можно ли экспортировать не только слайды, но и отдельные формы в SVG?
Да. Любую форму можно сохранить как отдельный SVG, что удобно для иконок, пиктограмм и повторного использования графики.
Можно ли объединить несколько слайдов в один SVG (полоска/документ)?
Стандартный сценарий — один слайд → один SVG. Объединение нескольких слайдов в один SVG‑канвас — это пост‑обработка, выполняемая на уровне приложения.