Convertir diapositivas de PowerPoint a PNG en JavaScript
Visión general
Este artículo explica cómo convertir diapositivas de presentación a imágenes PNG usando Aspose.Slides para Node.js a través de Java. Puede cargar presentaciones en formatos como PPT, PPTX y ODP, renderizar cada diapositiva y guardarla como una imagen PNG separada.
Los ejemplos a continuación demuestran la renderización con la escala predeterminada, el aumento de la escala, la especificación de las dimensiones de salida en píxeles y la elección de un estilo de renderizado de degradado.
Convertir PowerPoint a PNG
Cargue una presentación con la clase Presentation y acceda a sus diapositivas a través de la colección Presentation.getSlides. El ejemplo renderiza cada diapositiva con Slide.getImage sin parámetros para crear una miniatura. Luego llama a IImage.save con ImageFormat.Png para guardar cada diapositiva renderizada como una imagen PNG.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let slideCount = presentation.getSlides().size();
for (let index = 0; index < slideCount; index++) {
let slide = presentation.getSlides().get_Item(index);
let image = slide.getImage();
try {
image.save("slide_" + index + ".png", aspose.slides.ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Note
La sobrecarga sin parámetros de Slide.getImage renderiza con una escala de 0.2. Por ejemplo, una diapositiva que mide 720 × 540 puntos produce una miniatura de 144 × 108 píxeles. Para controlar las dimensiones de salida, utilice las sobrecargas con factores de escala o un tamaño de imagen explícito que se muestra a continuación.Convertir PowerPoint a PNG con dimensiones personalizadas
Pase factores de escala horizontal y vertical a Slide.getImage para controlar las dimensiones renderizadas. En este ejemplo, ambos factores son 2, por lo que una diapositiva que mide 720 × 540 puntos produce una imagen de 1440 × 1080 píxeles. Los factores de escala iguales conservan la proporción de la diapositiva. Cada imagen se guarda en formato PNG con IImage.save.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let scaleX = 2.0;
let scaleY = scaleX;
let slideCount = presentation.getSlides().size();
for (let index = 0; index < slideCount; index++) {
let slide = presentation.getSlides().get_Item(index);
let image = slide.getImage(scaleX, scaleY);
try {
image.save("slide_" + index + ".png", aspose.slides.ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Convertir PowerPoint a PNG con tamaño personalizado
Para especificar las dimensiones de salida en píxeles, pase un tamaño a Slide.getImage en lugar de factores de escala. Este ejemplo renderiza cada diapositiva a 960 × 720 píxeles y guarda el resultado con IImage.save. Elija dimensiones que coincidan con la proporción de la diapositiva para evitar estirar la imagen.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");
let presentation = new aspose.slides.Presentation("presentation.pptx");
try {
let imageSize = java.newInstanceSync("java.awt.Dimension", 960, 720);
let slideCount = presentation.getSlides().size();
for (let index = 0; index < slideCount; index++) {
let slide = presentation.getSlides().get_Item(index);
let image = slide.getImage(imageSize);
try {
image.save("slide_" + index + ".png", aspose.slides.ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
Elija un estilo de renderizado de degradado
Suponga que una diapositiva contiene rellenos degradados, pero las transiciones en el PNG exportado aparecen más claras o diferentes de lo que ve en PowerPoint. Puede usar el método SaveOptions.setGradientStyle heredado por RenderingOptions para elegir cómo se renderizan los degradados.
Descargue gradient-styles.pptx y colóquelo en el directorio de trabajo de la aplicación. Su primera diapositiva contiene dos degradados lineales: cian a naranja en la parte superior y azul a amarillo en la parte inferior. Cada degradado tiene dos paradas, al 0 % y al 100 %.
El siguiente ejemplo carga esta presentación y renderiza la misma primera diapositiva en ambos modos con Slide.getImage.
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
let presentation = new aspose.slides.Presentation("gradient-styles.pptx");
try {
let slide = presentation.getSlides().get_Item(0);
let gradientStyles = [aspose.slides.GradientStyle.Default, aspose.slides.GradientStyle.PowerPointUI];
for (let style of gradientStyles) {
let options = new aspose.slides.RenderingOptions();
options.setGradientStyle(style);
let styleName = style == aspose.slides.GradientStyle.Default ? "Default" : "PowerPointUI";
let image = slide.getImage(options, 1.0, 1.0);
try {
image.save("gradient-" + styleName + ".png", aspose.slides.ImageFormat.Png);
} finally {
image.dispose();
}
}
} finally {
presentation.dispose();
}
| Default | PowerPointUI |
|---|---|
![]() |
![]() |
En este ejemplo, Default produce colores intermedios más claros, mientras que PowerPointUI produce colores intermedios más oscuros. La diferencia depende de los colores y las paradas del degradado.
Elija Default cuando la salida estándar de Aspose.Slides se ajuste a sus necesidades. Pruebe PowerPointUI cuando su prioridad sea que la apariencia coincida con la de PowerPoint. Compare ambos resultados con el que desea; ninguno de los modos es universalmente preferible.
Preguntas frecuentes
¿Cómo puedo exportar una forma específica, como un gráfico o una imagen, en lugar de toda la diapositiva?
Aspose.Slides admite generar miniaturas para formas individuales, lo que le permite renderizar una forma como una imagen PNG.
¿Se admite la conversión paralela en un servidor?
Sí. Utilice una instancia de presentación separada para cada hilo o proceso; no comparta una única instancia entre hilos.
¿Cuáles son las limitaciones de la evaluación al exportar a PNG?
El modo de evaluación agrega una marca de agua a las imágenes de salida y aplica otras restricciones hasta que se aplique una licencia.

