Apache POI HSLF
Java-Bibliothek für Microsoft® PPT-Präsentationsdateiformate
Fügen Sie Präsentationen Folien und Bilder hinzu, konvertieren Sie PPT-Dateien mit der kostenlosen Open-Source-Java-API.
Was ist Apache POI HSLF?
Apache POI HSLF ist eine reine Java-Implementierung zum Lesen, Erstellen, Ändern oder Rendern von PowerPoint-Präsentationen. Es bietet eine Möglichkeit zum Lesen, Erstellen oder Ändern von PowerPoint-Präsentationen im PPT-Dateiformat. Es bietet Unterstützung für das Extrahieren von Daten wie Text, Bildern, Sounds, eingebetteten Objekten und vielem mehr aus PowerPoint-Präsentationen.
Es unterstützt auch das Zeichnen einer Form auf einer Folie, das Hinzufügen von Hyperlinks, Tabellen, Bildern, das Anpassen von Kopf- und Fußzeilen, das Erstellen von Aufzählungslisten, das Abrufen eingebetteter Sounds und vieles mehr.
Erste Schritte mit Apache POI HSLF
Zunächst muss das Java Development Kit (JDK) auf Ihrem System installiert sein. Wenn Sie es bereits haben, gehen Sie zur Downloadseite von Apache POI, um die neueste stabile Version in einem Archiv zu erhalten. Extrahieren Sie den Inhalt der ZIP-Datei in ein beliebiges Verzeichnis, aus dem die benötigten Bibliotheken mit Ihrem Java-Programm verknüpft werden können. Das ist alles!
Das Referenzieren von Apache POI in Ihrem Maven-basierten Java-Projekt ist sogar noch einfacher. Alles, was Sie brauchen, ist, die folgende Abhängigkeit in Ihrer pom.xml hinzuzufügen und Ihre IDE die Apache POI-Jar-Dateien abrufen und referenzieren zu lassen.
Apache POI Maven-Abhängigkeit
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.1.0</version>
</dependency>
Erstellen Sie dynamisch neue PPT oder ändern Sie vorhandene Präsentationen
Mit Apache POI HSLF können Programmierer neue PowerPoint-Präsentationen im PPT-Dateiformat erstellen. Entwickler können auch eine vorhandene Präsentation nach ihren Bedürfnissen umwandeln. Die API unterstützt auch Funktionen zum Extrahieren von Daten wie Text, Bilder, Sounds, eingebettete Objekte usw. aus PowerPoint-Präsentationen.
Erstellen Sie eine PPT-Datei - 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);
Fügen Sie Folien, Bilder hinzu und passen Sie Kopf- und Fußzeilen zu PPT an
Entwickler können innerhalb einer PPT-Präsentation mithilfe der Apache HSLF-API problemlos neue Folien hinzufügen und vorhandene nach ihren eigenen Bedürfnissen ändern. Entwickler können ihren Präsentationen jetzt angepasste Kopf- und Fußzeilen hinzufügen. Es bietet auch vollständige Unterstützung für das Hinzufügen eines Titels für eine Folie, das Erstellen einer Folie mit einem vordefinierten Layout, das Arbeiten mit Folien-/Formhintergrund und vieles mehr.
Fügen Sie Bilder in PPT über Java ein
- Erstellen Sie eine neue PPT-Datei mit FileOutputStream und übergeben Sie die Instanz von new File() mit dem Ausgabedateinamen als Zeichenfolge
- Fügen Sie eine neue Diashow mit der Methode HSLFSlideShow() hinzu
- Fügen Sie eine neue Folie mit der Methode createSlide() hinzu
- Rufen Sie Bildbytes mit der Methode IOUtils.toByteArray() ab und übergeben Sie Ihr Bild darin über die Methode FileInputStream()
- Fügen Sie Ihrer Folie ein Bild hinzu, indem Sie die Methode hslfSlideShow.addPicture(picture, HSLFPictureData.PictureType.PNG) verwenden. Die Methode akzeptiert Bildbytes und Bildtyp als Argumente
- Datei schreiben und speichern
Bild in PPT hinzufügen - 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();
Konvertieren Sie Folien mithilfe der Java-API in Bildformate
Die Apache POI HSLF API ermöglicht es Softwareentwicklern, jede Folie einer PowerPoint-Präsentation innerhalb ihrer Java-Anwendungen in ein Bilddateiformat zu konvertieren. Sie können Folien in einem java.awt.Graphics2D-Objekt (oder einem anderen) erfassen und in ein PNG- oder JPEG-Format serialisieren. Die unterstützten Bilder können JPEG, PNG, DIB usw. sein.
Konvertieren Sie PPT in Bild - 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();
}