[Java] Extraction de texte de PowerPoint (ppt) à l'aide d'Apache POI

Introduction J'avais besoin d'extraire du texte d'un grand nombre de fichiers PowerPoint, donc j'avais initialement prévu d'utiliser python-pptx, mais j'ai abandonné car les fichiers étaient jusqu'à PowerPoint 2003 (extension ppt). Par conséquent, j'ai décidé d'extraire du texte en utilisant Apache POI , qui est une bibliothèque Java externe.

Qu'est-ce que 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 est une bibliothèque 100% Java capable de lire et d'écrire des fichiers au format Microsoft Office. En plus des points d'alimentation traités dans cet article, vous pouvez également utiliser Excel et Word.

Télécharger Apache POI Téléchargez Apache POI à partir de ici .

Programme Obtenez le texte de la diapositive sur la première page du fichier ppt suivant. ![ppt2txt.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215216/47d3df1d-0137-e1a2-506e-24b1328ba356.png)

Cela fonctionne avec le programme suivant

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);

		//Augmentez la valeur maximale si la taille du fichier à lire est importante
//		IOUtils.setByteArrayMaxOverride(10000000);

		HSLFSlideShow ppt = new HSLFSlideShow(inputStream);

		//Obtenez un tableau de toutes les diapositives d'une présentation
		List<HSLFSlide> slides = ppt.getSlides();

		int page = 1;
		int paragraph = 1;

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

		ppt.close();
	}
}

Résultat Vous pouvez obtenir le texte sur la première page en exécutant le programme.
[Texte de la 1ère page]

Conclusion Dans cet article, j'ai présenté la méthode d'extraction de texte jusqu'à Powerpoint 2003 (extension ppt), mais bien sûr c'est aussi possible avec le format de fichier après Powerpoint 2007 (extension pptx). Dans ce cas, utilisez org.apache.poi.xslf au lieu de org.apache.poi.hslf. En plus de l'extraction de texte, vous pouvez également acquérir des images et créer des diapositives. Dans ce cas, regardez le document et faites de votre mieux.

Merci d'avoir lu pour moi jusqu'à la fin.

Recommended Posts

[Java] Extraction de texte de PowerPoint (ppt) à l'aide d'Apache POI
Extraction de texte à partir de documents à l'aide de POI, Tika
Notes pour lire et générer des fichiers xlsx à partir de Java à l'aide d'Apache POI
[Java] Création d'un fichier Excel à l'aide d'Apache POI
Extraction de texte en Java à partir de PDF avec pdfbox-2.0.8
Opération Excel avec Apache POI
Utilisation de Docker depuis Java Gradle
Sortie vers Excel en utilisant Apache POI!
Exemple de code utilisant Minio de Java
[Java] Gérer les fichiers Excel avec Apache POI
Connectez-vous de Java à MySQL à l'aide d'Eclipse
Accédez à Forec.com depuis Java en utilisant Axis2 Enterprise WSDL
Essayez d'accéder à l'ensemble de données depuis Java en utilisant JZOS
Java ajoute une zone de texte aux diapositives PowerPoint
Java permet l'extraction de texte et d'images PDF
Connexion SSH à l'aide de SSHJ à partir de l'application Java 6