Отображение слайдов презентаций как SVG‑изображений в PHP
SVG-формат
SVG — аббревиатура от Scalable Vector Graphics — это стандартный тип графики или формат, используемый для отображения двумерных изображений. SVG хранит изображения как векторы в XML с деталями, определяющими их поведение или внешний вид.
SVG — один из немногих форматов изображений, отвечающих очень высоким требованиям в следующих областях: масштабируемость, интерактивность, производительность, доступность, программируемость и другие. По этим причинам он широко используется в веб‑разработке.
Вам может потребоваться использовать файлы SVG, когда необходимо
- распечатать вашу презентацию в очень большом формате. SVG‑изображения могут масштабироваться до любой разрешающей способности. Вы можете менять размер SVG‑изображений сколько угодно раз без потери качества.
- использовать диаграммы и графики из ваших слайдов в разных средах или платформах. Большинство просмотрщиков способны отображать файлы SVG.
- получать наименьший возможный размер изображений. SVG‑файлы, как правило, меньше их высокоразрешающих аналогов в других форматах, особенно в форматах, основанных на растровой графике (JPEG или PNG).
Экспортировать слайд как SVG‑изображение
Aspose.Slides for PHP via Java позволяет экспортировать слайды вашей презентации в виде SVG‑изображений. Выполните следующие шаги, чтобы создать SVG‑изображения:
- Создайте экземпляр класса Presentation.
- Пройдитесь по всем слайдам в презентации.
- Запишите каждый слайд в отдельный SVG‑файл через FileOutputStream.
Этот пример кода показывает, как преобразовать PPT в SVG с помощью Aspose.Slides:
$pres = new Presentation("pres.pptx");
try {
for($index = 0; $index < java_values($pres->getSlides()->size()) ; $index++) {
$slide = $pres->getSlides()->get_Item($index);
$fileStream = new Java("java.io.FileOutputStream", "slide-" . $index . ".svg");
try {
$slide->writeAsSvg($fileStream);
} finally {
$fileStream->close();
}
}
} catch (JavaException $e) {
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Почему полученный SVG может выглядеть по‑разному в разных браузерах?
Поддержка конкретных возможностей SVG реализуется по‑разному в движках браузеров. Параметры SVGOptions помогают сгладить несовместимости.
Можно ли экспортировать не только слайды, но и отдельные фигуры в SVG?
Да. Любую фигуру можно сохранить как отдельный SVG, что удобно для значков, пиктограмм и повторного использования графики.
Можно ли объединить несколько слайдов в один SVG (полоска/документ)?
Стандартный сценарий — один слайд → один SVG. Объединение нескольких слайдов в один SVG‑канвас является постобработкой, выполняемой на уровне приложения.