[java] Apache Tika 메타데이터 추출 및 변환

Apache Tika는 다양한 파일 형식에서 텍스트 및 메타데이터를 추출하는 데 사용되는 Java 라이브러리입니다. 이 라이브러리를 사용하면 PDF, 문서, 이미지, 영상 파일 등에서 메타데이터를 추출하고, 텍스트를 추출하여 텍스트 기반 검색 또는 분석을 수행할 수 있습니다. 또한, 다양한 형식의 파일을 표준화된 형식으로 변환할 수 있습니다.

파일에서 메타데이터 추출하기

Apache Tika를 사용하여 다양한 형식의 파일에서 메타데이터를 추출하는 것은 매우 간단합니다. 다음은 Java 코드에서 Apache Tika를 사용하여 파일에서 메타데이터를 추출하는 예제입니다.

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 java.io.FileInputStream;
import java.io.InputStream;

public class MetadataExtractor {
    public static void main(String[] args) throws Exception {
        InputStream input = new FileInputStream(new File("example.docx"));
        Parser parser = new AutoDetectParser();
        Metadata metadata = new Metadata();
        parser.parse(input, new BodyContentHandler(), metadata, new ParseContext());
        input.close();

        // 메타데이터 출력
        for (String name : metadata.names()) {
            System.out.println(name + ": " + metadata.get(name));
        }
    }
}

위의 코드는 Apache Tika의 AutoDetectParser를 사용하여 파일에서 메타데이터를 추출하는 방법을 보여줍니다.

파일 변환

또 다른 유용한 기능은 Apache Tika를 사용하여 다양한 형식의 파일을 표준화된 텍스트 형식으로 변환하는 기능입니다. 다음은 Apache Tika를 사용하여 특정 파일 형식을 표준 텍스트로 변환하는 예제 코드입니다.

import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.pdf.PDFParser;
import org.apache.tika.sax.BodyContentHandler;

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

public class TextExtractor {
    public static void main(String[] args) throws IOException, TikaException {
        InputStream input = new FileInputStream(new File("example.pdf"));
        BodyContentHandler handler = new BodyContentHandler();
        Metadata metadata = new Metadata();
        new PDFParser().parse(input, handler, metadata, new ParseContext());
        input.close();

        // 텍스트 출력
        System.out.println(handler.toString());
    }
}

위의 코드는 Apache Tika의 PDFParser를 사용하여 PDF 파일을 텍스트로 변환하는 방법을 보여줍니다.

Apache Tika는 다양한 파일 형식에 대한 메타데이터 추출 및 변환 기능을 제공하여 다양한 유형의 파일을 처리하는 데 유용한 도구입니다.

참고 자료: