Конвертировать PPT и PPTX в JPG в PHP
О конвертации PowerPoint в JPG
С помощью Aspose.Slides API вы можете конвертировать презентацию PowerPoint PPT или PPTX в изображение JPG. Также возможно конвертировать PPT/PPTX в JPEG, PNG или SVG. Благодаря этим возможностям легко реализовать собственный просмотрщик презентаций, создать миниатюру для каждого слайда. Это может быть полезно, если вы хотите защитить слайды презентации от копирования, продемонстрировать презентацию в режиме только для чтения. Aspose.Slides позволяет конвертировать всю презентацию или отдельный слайд в форматы изображений.
[
Конвертировать PowerPoint PPT/PPTX в JPG
Вот шаги для конвертации PPT/PPTX в JPG:
- Создайте экземпляр типа Presentation.
- Получите объект слайда типа Slide из коллекции Presentation::getSlides().
- Создайте миниатюру каждого слайда, а затем конвертируйте её в JPG. Метод Slide::getImage(float scaleX, float scaleY) используется для получения миниатюры слайда. Метод getImage должен вызываться у нужного слайда типа Slide, при этом в метод передаются масштабы получаемой миниатюры.
- После получения миниатюры слайда вызовите метод [IImage::save(String formatName, int imageFormat)](https://reference.aspose.com/slides/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) у объекта миниатюры. Передайте в него полученное имя файла и формат изображения.
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
foreach($pres->getSlides() as $sld) {
# Создает изображение в полном масштабе
$slideImage = $sld->getImage(1.0, 1.0);
# Сохраняет изображение на диск в формате JPEG
try {
$slideImage->save(String->format("Slide_%d.jpg", $sld->getSlideNumber()), ImageFormat::Jpeg);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Конвертировать PowerPoint PPT/PPTX в JPG с пользовательскими размерами
Чтобы изменить размеры получаемой миниатюры и JPG‑изображения, вы можете установить значения ScaleX и ScaleY, передав их в методы Slide::getImage(float scaleX, float scaleY):
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
# Определяет размеры
$desiredX = 1200;
$desiredY = 800;
# Получает масштабированные значения X и Y
$ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
$ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
foreach($pres->getSlides() as $sld) {
# Создает изображение в полном масштабе
$slideImage = $sld->getImage($ScaleX, $ScaleY);
# Сохраняет изображение на диск в формате JPEG
try {
$slideImage->save(String->format("Slide_%d.jpg", $sld->getSlideNumber()), ImageFormat::Jpeg);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Отображать комментарии при сохранении слайдов как изображения
Aspose.Slides for PHP via Java предоставляет возможность отображать комментарии в слайдах презентации при их конвертации в изображения. Этот PHP‑код демонстрирует работу:
$pres = new Presentation("presentation.pptx");
try {
$notesOptions = new NotesCommentsLayoutingOptions();
$notesOptions->setNotesPosition(NotesPositions::BottomTruncated);
$opts = new RenderingOptions();
$opts->setSlidesLayoutOptions($notesOptions);
foreach($pres->getSlides() as $sld) {
$slideImage = $sld->getImage($opts, new Java("java.awt.Dimension", 740, 960));
try {
$slideImage->save(String->format("Slide_%d.png", $sld->getSlideNumber()));
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Tip
Aspose предоставляет БЕСПЛАТНОЕ веб‑приложение Collage. С помощью этого онлайн‑сервиса вы можете объединять изображения JPG в JPG или PNG в PNG, создавать фото‑решётки и т.д.
Используя те же принципы, описанные в этой статье, вы можете конвертировать изображения из одного формата в другой. Для получения дополнительной информации см. эти страницы: конвертировать image to JPG; конвертировать JPG to image; конвертировать JPG to PNG, конвертировать PNG to JPG; конвертировать PNG to SVG, конвертировать SVG to PNG.
Часто задаваемые вопросы
Поддерживает ли этот метод пакетную конвертацию?
Да, Aspose.Slides позволяет выполнять пакетную конвертацию нескольких слайдов в JPG за одну операцию.
Поддерживает ли конвертация SmartArt, диаграммы и другие сложные объекты?
Да, Aspose.Slides рендерит всё содержимое, включая SmartArt, диаграммы, таблицы, фигуры и т.д. Однако точность рендеринга может слегка отличаться от PowerPoint, особенно при использовании пользовательских или отсутствующих шрифтов.
Есть ли ограничения на количество обрабатываемых слайдов?
Сам Aspose.Slides не накладывает строгих ограничений на количество обрабатываемых слайдов. Однако при работе с большими презентациями или изображениями высокого разрешения вы можете столкнуться с ошибкой нехватки памяти.
См. также
Смотрите другие варианты конвертации PPT/PPTX в изображение, например: