Convertir PPT y PPTX a JPG en PHP
Acerca de la conversión de PowerPoint a JPG
Con la Aspose.Slides API puedes convertir una presentación PowerPoint PPT o PPTX a 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 o demostrar la presentación en modo de solo lectura. Aspose.Slides permite convertir la presentación completa o una diapositiva específica a formatos de imagen.
[
Convertir PowerPoint PPT/PPTX a JPG
Aquí están los pasos para convertir PPT/PPTX a JPG:
- Crea una instancia del tipo Presentation.
- Obtén el objeto de diapositiva del tipo ISlide a partir de la colección Presentation.getSlides() .
- Crea la miniatura de cada diapositiva y luego conviértela a JPG. El método ISlide.getImage(float scaleX, float scaleY) se utiliza para obtener una miniatura de una diapositiva, y devuelve un objeto Images como resultado. El método getImage debe llamarse desde la diapositiva necesaria del tipo ISlide, pasando las escalas de la miniatura resultante al método.
- Después de obtener la miniatura de la diapositiva, llama al método IImage.save(String formatName, int imageFormat) del objeto miniatura. Pasa 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 resultante y la imagen JPG, puedes establecer los valores ScaleX y ScaleY pasándolos al método ISlide.getImage(float scaleX, float scaleY):
$pres = new Presentation("PowerPoint-Presentation.pptx");
try {
# Define las dimensiones
$desiredX = 1200;
$desiredY = 800;
# Obtiene 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 para 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 demuestra 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 aplicación web GRATUITA de Collage. Usando este servicio en línea, puedes combinar JPG a JPG o PNG a PNG, crear rejillas de fotos, y 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 imagen a JPG; convertir JPG a imagen; convertir JPG a PNG, convertir PNG a JPG; convertir PNG a SVG, convertir SVG a PNG.
Preguntas frecuentes
¿Este método admite conversión por lotes?
Sí, Aspose.Slides permite la conversión por lotes de varias 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. Sin embargo, la precisión del renderizado puede variar ligeramente respecto a PowerPoint, especialmente al usar fuentes personalizadas o faltantes.
¿Existen limitaciones en la cantidad de diapositivas que se pueden procesar?
Aspose.Slides en sí no impone límites estrictos en la cantidad de diapositivas que puedes procesar. Sin embargo, puedes encontrar errores de falta de memoria al trabajar con presentaciones grandes o imágenes de alta resolución.
Ver también
Consulta otras opciones para convertir PPT/PPTX a imagen, como: