Создание миниатюр фигур презентации в PHP
Обзор
В этой теме мы покажем, как генерировать миниатюры слайдов в разных ситуациях:
- Создание миниатюры фигуры внутри слайда.
- Создание миниатюры фигуры слайда с пользовательскими размерами.
- Создание миниатюры фигуры в границах её отображения.
Создание миниатюры фигуры из слайда
Чтобы создать миниатюру фигуры из любого слайда с помощью Aspose.Slides for PHP via Java, выполните следующее:
- Создайте экземпляр класса Presentation.
- Получите ссылку на любой слайд, используя его ID или индекс.
- Получите изображение миниатюры фигуры для указанного слайда в масштабе по умолчанию.
- Сохраните изображение миниатюры в желаемом формате изображения.
Этот пример кода показывает, как создать миниатюру фигуры из слайда:
# Создать объект класса Presentation, представляющий файл презентации
$pres = new Presentation("Thumbnail.pptx");
try {
# Создать изображение в полном масштабе
$slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage();
# Сохранить изображение на диск в формате PNG
try {
$slideImage->save("output.png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Создание миниатюры с пользовательским фактором масштабирования
Чтобы создать миниатюру фигуры слайда с помощью Aspose.Slides for PHP via Java, выполните следующее:
- Создайте экземпляр класса Presentation.
- Получите ссылку на любой слайд, используя его ID или индекс.
- Получите изображение миниатюры фигуры для указанного слайда с пользовательскими размерами.
- Сохраните изображение миниатюры в желаемом формате изображения.
Этот пример кода показывает, как создать миниатюру фигуры на основе заданного фактора масштабирования:
# Создать объект класса Presentation, представляющий файл презентации
$pres = new Presentation("Thumbnail.pptx");
try {
# Создать изображение в полном масштабе
$slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage(ShapeThumbnailBounds->Shape, 1, 1);
# Сохранить изображение на диск в формате PNG
try {
$slideImage->save("output.png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Создание миниатюры отображения фигуры на основе границ
Этот метод создания миниатюр фигур позволяет разработчикам генерировать миниатюру в границах отображения фигуры. Он учитывает все эффекты фигуры. Сгенерированная миниатюра фигуры ограничена границами слайда. Чтобы создать миниатюру фигуры слайда в пределах её отображения, выполните следующее:
- Создайте экземпляр класса Presentation.
- Получите ссылку на любой слайд, используя его ID или индекс.
- Получите изображение миниатюры указанного слайда, используя границы фигуры как отображение.
- Сохраните изображение миниатюры в желаемом формате изображения.
Этот пример кода основан на приведенных выше шагах:
# Создать объект класса Presentation, представляющий файл презентации
$pres = new Presentation("Thumbnail.pptx");
try {
# Создать изображение в полном масштабе
$slideImage = $pres->getSlides()->get_Item(0)->getShapes()->get_Item(0)->getImage(ShapeThumbnailBounds->Appearance, 1, 1);
# Сохранить изображение на диск в формате PNG
try {
$slideImage->save("output.png", ImageFormat::Png);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Вопросы и ответы
Какие форматы изображений можно использовать при сохранении миниатюр фигур?
PNG, JPEG, BMP, GIF, TIFF, и другие. Фигуры также можно экспортировать как векторный SVG, сохранив содержимое фигуры в формате SVG.
В чём разница между границами Shape и Appearance при отрисовке миниатюры?
Shape использует геометрию фигуры; Appearance учитывает визуальные эффекты (тени, свечения и т. д.).
Что происходит, если фигура помечена как скрытая? Будет ли она всё равно отрисована как миниатюра?
Скрытая фигура остаётся частью модели и может быть отрисована; флаг скрытия влияет на отображение в слайдшоу, но не препятствует созданию изображения фигуры.
Поддерживаются ли составные фигуры, диаграммы, SmartArt и другие сложные объекты?
Да. Любой объект, представленный как Shape (включая GroupShape, Chart, и SmartArt), можно сохранить как миниатюру или как SVG.
Влияют ли системные шрифты на качество миниатюр текстовых фигур?
Да. Необходимо предоставить требуемые шрифты (или настроить замену шрифтов), чтобы избежать нежелательных подстановок и переполнения текста.