Apache POI HSLF
Biblioteca Java para formatos de archivo de presentación PPT de Microsoft®
Agregue diapositivas e imágenes a las presentaciones, convierta archivos PPT con la API Java gratuita de código abierto.
¿Qué es Apache POI HSLF?
Apache POI HSLF es una implementación pura de Java para leer, crear, modificar o representar presentaciones de PowerPoint. Proporciona una forma de leer, crear o modificar el formato de archivo PPT de presentaciones de PowerPoint. Brinda soporte para extraer datos como texto, imágenes, sonidos, objetos incrustados y mucho más de las presentaciones de PowerPoint.
También admite dibujar una forma en una diapositiva, agregar hipervínculos, tablas, imágenes, personalizar encabezados y pies de página, crear listas con viñetas, recuperar sonidos incrustados y mucho más.
Primeros pasos con Apache POI HSLF
En primer lugar, debe tener instalado el kit de desarrollo de Java (JDK) en su sistema. Si ya lo tiene, vaya a la página de descarga de Apache POI para obtener la última versión estable en un archivo. Extraiga el contenido del archivo ZIP en cualquier directorio desde donde se puedan vincular las bibliotecas requeridas a su programa Java. ¡Eso es todo!
Hacer referencia a Apache POI en su proyecto Java basado en Maven es aún más simple. Todo lo que necesita es agregar la siguiente dependencia en su pom.xml y dejar que su IDE obtenga y haga referencia a los archivos Jar de POI de Apache.
Dependencia de Apache POI Maven
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.0</version>
</dependency>
Cree dinámicamente nuevos PPT o modifique presentaciones existentes
Apache POI HSLF permite a los programadores crear nuevas presentaciones de PowerPoint en formatos de archivo PPT. Los desarrolladores también pueden transformar una presentación existente según sus necesidades. La API también admite funciones para extraer datos como texto, imágenes, sonidos, objetos incrustados, etc. de presentaciones de PowerPoint.
Crear un archivo PPT - Java
// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.ppt"));
// create a new slide show
HSLFSlideShow xmlSlideShow = new HSLFSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);
Agregar diapositivas, imágenes y personalizar encabezado y pie de página a PPT
Los desarrolladores pueden agregar fácilmente nuevas diapositivas y modificar las existentes según sus propias necesidades dentro de una presentación PPT utilizando la API de Apache HSLF. Los desarrolladores ahora pueden agregar encabezados y pies de página personalizados en sus presentaciones. También brinda soporte completo para agregar un título para una diapositiva, crear una diapositiva con un diseño predefinido, trabajar con fondo de diapositiva/forma y mucho más.
Insertar imágenes en PPT a través de Java
- Cree un nuevo archivo PPT usando FileOutputStream y pase la instancia de new File() con el nombre de archivo de salida como cadena
- Agregue una nueva presentación de diapositivas usando el método HSLFSlideShow()
- Agregue una nueva diapositiva usando el método createSlide ()
- Obtenga bytes de imagen usando el método IOUtils.toByteArray() y pase su imagen a través del método FileInputStream()
- Agregue una imagen a su diapositiva usando el método hslfSlideShow.addPicture(imagen, HSLFPictureData.PictureType.PNG). El método acepta bytes de imagen y tipo de imagen como argumentos
- Escribir y guardar archivo
Agregar imagen en PPT - Java
// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("AddImage.ppt"));
// create a new slide show
HSLFSlideShow hslfSlideShow = new HSLFSlideShow();
// create slide
HSLFSlide slide = hslfSlideShow.createSlide();
// load image
byte[] picture = IOUtils.toByteArray(new FileInputStream(new File("apache-poi-logo-min.png")));
// add image
HSLFPictureData hslfPictureData = hslfSlideShow.addPicture(picture, HSLFPictureData.PictureType.PNG);
HSLFPictureShape pictureShape = slide.createPicture(hslfPictureData);
// save file
hslfSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
Convierta diapositivas a formatos de imagen usando la API de Java
Apache POI HSLF API permite a los desarrolladores de software convertir cada diapositiva de una presentación de PowerPoint en un formato de archivo de imagen dentro de sus aplicaciones Java. Puede capturar diapositivas en un objeto java.awt.Graphics2D (o cualquier otro) y serializarlo en formato PNG o JPEG. Las imágenes admitidas pueden estar en formato JPEG, PNG, DIB, etc.
Convertir PPT a imagen - Java
//open an existing PPT file
HSLFSlideShow hslfSlideShow = new HSLFSlideShow(new FileInputStream(new File("PPTtoImage.ppt")));
// get dimensions
Dimension pgsize = hslfSlideShow.getPageSize();
java.util.List slide = hslfSlideShow.getSlides();
for (int i = 0; i < slide.size(); i++) {
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
// clear the drawing area
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
// render
slide.get(i).draw(graphics);
// create image
FileOutputStream out = new FileOutputStream("PPTtoImage.png");
javax.imageio.ImageIO.write(img, "png", out);
out.close();
}