[Java] Textextraktion aus PowerPoint (ppt) mit Apache POI

Einführung Ich musste Text aus einer großen Anzahl von PowerPoint-Dateien extrahieren, daher hatte ich ursprünglich vor, python-pptx zu verwenden, aber ich gab auf, weil die Dateien bis zu PowerPoint 2003 (Erweiterung ppt) waren. Aus diesem Grund habe ich beschlossen, Text mit Apache POI zu extrahieren, einer externen Java-Bibliothek.

Was ist Apache POI ? ![apache poi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215216/93f84b23-ae06-5ae5-1904-1e35e8b675d8.png) Apache POI ist eine 100% Java-Bibliothek, die Dateien im Microsoft Office-Format lesen und schreiben kann. Zusätzlich zu den in diesem Artikel behandelten Steckdosen können Sie auch Excel und Word bedienen.

Apache POI herunterladen Laden Sie den Apache POI von hier herunter.

Programm Rufen Sie den Text der Folie auf der ersten Seite der folgenden ppt-Datei ab. ![ppt2txt.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215216/47d3df1d-0137-e1a2-506e-24b1328ba356.png)

Es funktioniert mit dem folgenden Programm

PPT2txt.java


import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;

import org.apache.poi.hslf.usermodel.HSLFSlide;
import org.apache.poi.hslf.usermodel.HSLFSlideShow;
import org.apache.poi.util.IOUtils;

public class PPT2txt {
	public static void main(String[] args) throws IOException {
		File file = new File("./data/test.ppt");
		FileInputStream inputStream = new FileInputStream(file);

		//Erhöhen Sie den Maximalwert, wenn die zu lesende Datei groß ist
//		IOUtils.setByteArrayMaxOverride(10000000);

		HSLFSlideShow ppt = new HSLFSlideShow(inputStream);

		//Holen Sie sich ein Array aller Folien in einer Präsentation
		List<HSLFSlide> slides = ppt.getSlides();

		int page = 1;
		int paragraph = 1;

		System.out.println(slides.get(page).getTextParagraphs().get(paragraph));

		ppt.close();
	}
}

Ergebnis Sie können den Text auf der ersten Seite abrufen, indem Sie das Programm ausführen.
[Text der ersten Seite]

Schlussfolgerung In diesem Artikel habe ich die Methode der Textextraktion bis Powerpoint 2003 (Erweiterung ppt) vorgestellt, aber natürlich ist dies auch mit dem Dateiformat nach Powerpoint 2007 (Erweiterung pptx) möglich. Verwenden Sie in diesem Fall org.apache.poi.xslf anstelle von org.apache.poi.hslf. Neben der Textextraktion können Sie auch Bilder erfassen und Folien erstellen. Sehen Sie sich in diesem Fall das Dokument an und geben Sie Ihr Bestes.

Danke, dass Sie bis zum Ende für mich gelesen haben.

Recommended Posts

[Java] Textextraktion aus PowerPoint (ppt) mit Apache POI
Textextraktion aus Dokumenten mit POI, Tika
Hinweise zum Lesen und Generieren von XLSX-Dateien aus Java mit Apache POI
[Java] Erstellen einer Excel-Datei mit Apache POI
Textextraktion in Java aus PDF mit pdfbox-2.0.8
Excel-Operation mit Apache POI
Verwenden von Docker von Java Gradle
Ausgabe nach Excel mit Apache POI!
Beispielcode mit Minio aus Java
[Java] Behandeln Sie Excel-Dateien mit Apache POI
Stellen Sie mit Eclipse eine Verbindung von Java zu MySQL her
Greifen Sie über Java mit Axis2 Enterprise WSDL auf Forec.com zu
Versuchen Sie, mit JZOS von Java aus auf das Dataset zuzugreifen
Java fügt PowerPoint-Folien ein Textfeld hinzu
Java ermöglicht die Extraktion von PDF-Text und Bildern
SSH-Verbindung mit SSHJ aus der Java6-App