[java] Apache Tika 와 워드 문서 처리

Apache Tika는 다양한 파일 형식의 데이터를 추출하고 해석하기 위한 오픈 소스 라이브러리입니다. 이를 사용하여 워드 문서를 읽고 처리하는 방법을 알아보겠습니다.

Apache Tika 설치

Apache Tika를 사용하기 위해 먼저 설치해야 합니다. Maven을 사용하거나 Apache Tika의 공식 웹 사이트에서 JAR 파일을 다운로드하여 프로젝트에 추가할 수 있습니다.

워드 문서에서 텍스트 추출하기

다음은 Apache Tika를 사용하여 워드 문서에서 텍스트를 추출하는 예제입니다.

import org.apache.tika.Tika;

...

String filePath = "경로/문서.docx"; // 워드 문서 파일 경로

Tika tika = new Tika();
String text = tika.parseToString(new File(filePath));

System.out.println(text);

위의 예제에서는 Tika 클래스의 parseToString() 메서드를 사용하여 텍스트를 추출합니다. parseToString() 메서드에 워드 문서 파일을 전달하면 해당 파일에서 추출된 텍스트를 반환합니다.

워드 문서의 메타데이터 추출하기

Apache Tika를 사용하면 워드 문서의 메타데이터도 추출할 수 있습니다. 다음은 워드 문서의 제목, 작성자, 생성일 등과 같은 메타데이터를 추출하는 예제입니다.

import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.sax.BodyContentHandler;

...

String filePath = "경로/문서.docx"; // 워드 문서 파일 경로

AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();

try (InputStream stream = new FileInputStream(filePath)) {
    parser.parse(stream, handler, metadata, new ParseContext());
} catch (Exception e) {
    e.printStackTrace();
}

// 메타데이터 출력
System.out.println("제목: " + metadata.get("title"));
System.out.println("작성자: " + metadata.get("author"));
System.out.println("생성일: " + metadata.get("date"));

위의 예제에서는 AutoDetectParser 클래스를 사용하여 워드 문서를 파싱하고, BodyContentHandler 클래스를 사용하여 문서의 내용을 추출합니다. 또한 Metadata 클래스를 사용하여 메타데이터를 추출합니다.

결론

Apache Tika를 사용하면 워드 문서와 같은 다양한 파일 형식의 데이터를 쉽게 처리할 수 있습니다. 이번 글에서는 Apache Tika를 사용하여 워드 문서의 텍스트와 메타데이터를 추출하는 방법을 알아보았습니다.

더 많은 정보를 알고 싶다면 Apache Tika 공식 웹 사이트를 참조해주세요.

참고 자료: