[Java] Textextraktion aus PowerPoint (ppt) mit Apache POI
Einführung h2>
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 h2>?
![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 h2>
Laden Sie den Apache POI von hier herunter.
Programm h2>
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 h2>
Sie können den Text auf der ersten Seite abrufen, indem Sie das Programm ausführen.
[Text der ersten Seite]
Schlussfolgerung h2>
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.