[java] Apache Tika PDF 처리

Apache Tika는 다양한 형식의 문서를 추출하고 해석하는 자바 라이브러리입니다. 이 라이브러리를 사용하면 PDF 파일에서 텍스트를 추출하거나 메타데이터를 얻을 수 있습니다. 여기에서는 Apache Tika를 사용하여 자바로 PDF 파일을 처리하는 방법을 알아보겠습니다.

Apache Tika 라이브러리 추가

먼저 Apache Tika를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml 파일에 다음 종속성을 추가합니다.

<dependency>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-core</artifactId>
    <version>1.27</version> <!-- 현재 버전을 지정합니다. -->
</dependency>

Gradle을 사용하는 경우, build.gradle 파일에 다음 의존성을 추가합니다.

implementation 'org.apache.tika:tika-core:1.27' // 현재 버전을 지정합니다.

PDF 파일에서 텍스트 추출하기

이제 Apache Tika를 사용하여 PDF 파일에서 텍스트를 추출해 보겠습니다. 아래는 간단한 예제 코드입니다.

import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.sax.BodyContentHandler;
import org.xml.sax.SAXException;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class PDFProcessor {
    public static void main(String[] args) throws IOException, TikaException, SAXException {
        File file = new File("example.pdf");
        Parser parser = new AutoDetectParser();
        BodyContentHandler handler = new BodyContentHandler();
        Metadata metadata = new Metadata();
        try (InputStream stream = new FileInputStream(file)) {
            parser.parse(stream, handler, metadata, new ParseContext());
            System.out.println("텍스트: " + handler.toString());
        }
    }
}

위 코드에서는 Apache Tika의 AutoDetectParser를 사용하여 PDF 파일을 파싱하고, BodyContentHandler를 통해 텍스트를 추출한 후 출력합니다.

이렇게 하면 Apache Tika를 사용하여 PDF 파일에서 텍스트를 추출할 수 있습니다.

메타데이터 얻기

PDF 파일의 메타데이터를 얻으려면 Metadata 객체를 사용하면 됩니다. 아래 예제 코드는 메타데이터를 출력하는 방법을 보여줍니다.

// PDFProcessor 클래스의 main 메소드에서 다음 코드를 추가합니다.
for (String key : metadata.names()) {
    System.out.println(key + ": " + metadata.get(key));
}

위 코드를 추가하면 모든 메타데이터 키와 값을 출력할 수 있습니다.

Apache Tika를 사용하면 PDF 파일에서 텍스트를 추출하고 메타데이터를 얻을 수 있습니다. 이를 통해 PDF 파일을 자바 애플리케이션에서 유용하게 활용할 수 있습니다.

더 많은 정보나 사용 예제는 Apache Tika 공식 웹사이트에서 확인할 수 있습니다.

추가 자료

Apache Tika는 Apache License 2.0에 따라 배포됩니다.