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

Формат SVG

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

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

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

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

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

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

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

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

Presentation pres = new Presentation("pres.pptx");
try {
    for (int index = 0; index < pres.getSlides().size(); index++)
    {
        ISlide slide = pres.getSlides().get_Item(index);

        FileOutputStream fileStream = new FileOutputStream("slide-" + index + ".svg");
        try {
            slide.writeAsSvg(fileStream);
        } finally {
            fileStream.close();
        }
    }
} catch(IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

FAQ

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

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

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

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

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

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