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