Convertir PPT y PPTX a JPG en PHP
Acerca de la conversión de PowerPoint a JPG
Con Aspose.Slides API puedes convertir una presentación PowerPoint PPT o PPTX a una imagen JPG. También es posible convertir PPT/PPTX a JPEG, PNG o SVG. Con estas funciones es fácil implementar tu propio visor de presentaciones, crear la miniatura de cada diapositiva. Esto puede ser útil si deseas proteger las diapositivas de la presentación contra la copia, demostrar la presentación en modo solo lectura. Aspose.Slides permite convertir toda la presentación o una diapositiva determinada a formatos de imagen.
[
Convertir PowerPoint PPT/PPTX a JPG
A continuación se describen los pasos para convertir PPT/PPTX a JPG:
- Crea una instancia del tipo Presentation.
- Obtén el objeto diapositiva del tipo Slide de la colección Presentation::getSlides() .
- Crea la miniatura de cada diapositiva y luego conviértela a JPG. El método Slide::getImage(float scaleX, float scaleY) se utiliza para obtener una miniatura de una diapositiva. El método getImage debe llamarse desde la diapositiva necesaria del tipo Slide y las escalas de la miniatura resultante se pasan al método.
- Después de obtener la miniatura de la diapositiva, llama al método [IImage::save(String formatName, int imageFormat)](https://reference.aspose.com/slides/php-java/aspose.slides/IImage#save(String formatName, int imageFormat)) desde el objeto miniatura. Pasa a este método el nombre de archivo resultante y el formato de imagen.
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
foreach($pres->getSlides() as $sld) {
# Crea una imagen a escala completa
$slideImage = $sld->getImage(1.0, 1.0);
# Guarda la imagen en disco en formato 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();
}
}
Convertir PowerPoint PPT/PPTX a JPG con dimensiones personalizadas
Para cambiar la dimensión de la miniatura y la imagen JPG resultantes, puedes establecer los valores ScaleX y ScaleY pasándolos a los métodos Slide::getImage(float scaleX, float scaleY):
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
# Define dimensiones
$desiredX = 1200;
$desiredY = 800;
# Obtiene los valores escalados de X y Y
$ScaleX = 1.0 / $pres->getSlideSize()->getSize()->getWidth() * $desiredX;
$ScaleY = 1.0 / $pres->getSlideSize()->getSize()->getHeight() * $desiredY;
foreach($pres->getSlides() as $sld) {
# Crea una imagen a escala completa
$slideImage = $sld->getImage($ScaleX, $ScaleY);
# Guarda la imagen en disco en formato 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();
}
}
Renderizar comentarios al guardar diapositivas como imágenes
Aspose.Slides for PHP via Java ofrece una funcionalidad que permite renderizar los comentarios en las diapositivas de una presentación al convertir esas diapositivas en imágenes. Este código PHP muestra la operación:
$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 ofrece una FREE Collage web app. Con este servicio en línea, puedes combinar imágenes JPG to JPG o PNG to PNG, crear photo grids y mucho más.
Usando los mismos principios descritos en este artículo, puedes convertir imágenes de un formato a otro. Para más información, consulta estas páginas: convertir image to JPG; convertir JPG to image; convertir JPG to PNG, convertir PNG to JPG; convertir PNG to SVG, convertir SVG to PNG.
FAQ
¿Este método admite la conversión por lotes?
Sí, Aspose.Slides permite la conversión por lotes de múltiples diapositivas a JPG en una sola operación.
¿La conversión admite SmartArt, gráficos y otros objetos complejos?
Sí, Aspose.Slides renderiza todo el contenido, incluidos SmartArt, gráficos, tablas, formas y más. No obstante, la precisión del renderizado puede variar ligeramente respecto a PowerPoint, sobre todo al usar fuentes personalizadas o ausentes.
¿Existen limitaciones en el número de diapositivas que se pueden procesar?
Aspose.Slides no impone límites estrictos en la cantidad de diapositivas que puedes procesar. Sin embargo, podrías encontrar errores de falta de memoria al trabajar con presentaciones muy grandes o imágenes de alta resolución.
Ver también
Consulta otras opciones para convertir PPT/PPTX a imagen, como: