【Java】 파워 포인트 (ppt)에서 Apache POI를 사용하여 텍스트 추출
소개
대량의 파워 포인트 파일로부터 텍스트 추출을 실시할 필요가 있어, 당초는 python-pptx를 사용할 예정이었습니다만, 파일이 파워 포인트 2003까지의 것(확장자 ppt)이었기 때문에 단념했습니다.
거기서 Java의 외부 라이브러리의 Apache POI 를 사용해 텍스트 추출을 실시하기로 하겠습니다.
Apache POI란?
Apache POI는 Microsoft Office 형식의 파일을 읽고 쓸 수 있는 100% Java 라이브러리입니다.
이 기사에서 다루는 파워 포인트뿐만 아니라 엑셀이나 워드의 조작도 할 수 있습니다.
Apache POI 다운로드
Apache POI의 다운로드는 여기 에서 실시해 주세요.
프로그램
다음 ppt 파일의 첫 페이지 슬라이드 텍스트를 가져옵니다.
다음 프로그램으로 이동합니다.
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);
// 読み込むファイルのサイズが大きい場合は最大値を増やす
// IOUtils.setByteArrayMaxOverride(10000000);
HSLFSlideShow ppt = new HSLFSlideShow(inputStream);
// プレゼンテーション内のすべてのスライドの配列を取得
List<HSLFSlide> slides = ppt.getSlides();
int page = 1;
int paragraph = 1;
System.out.println(slides.get(page).getTextParagraphs().get(paragraph));
ppt.close();
}
}
결과
프로그램을 실행하면 첫 페이지의 텍스트를 얻을 수 있습니다.
[1ページ目テキスト]
결론
이 기사에서는 파워 포인트 2003까지의 것 (확장자 ppt)의 텍스트 추출 방법을 소개했지만, 물론 파워 포인트 2007 이후의 파일 형식 (확장자 pptx)에서도 가능합니다.
이 경우 org.apache.poi.hslf 대신 org.apache.poi.xslf를 사용합니다.
또, 텍스트 추출 뿐만이 아니라 화상 취득이나 슬라이드 작성등의 실시할 수 있으므로, 그 경우는 문서 보고 노력합시다.
끝까지 읽어 주셔서 감사합니다.
Reference
이 문제에 관하여(【Java】 파워 포인트 (ppt)에서 Apache POI를 사용하여 텍스트 추출), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Lain_/items/6a1d3ed0255720d6d57a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)