[java] Apache Tika 와 문서 분할하기
Apache Tika는 다양한 문서 형식을 분석하고 추출하기 위한 오픈 소스 라이브러리입니다. 이를 사용하여 텍스트 파일, PDF, 워드 문서, 스프레드시트 등 다양한 형식의 문서를 분석하고 내용을 추출할 수 있습니다.
Apache Tika 설치
Apache Tika를 사용하기 위해서는 먼저 아파치 Tika를 설치해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음과 같이 의존성을 추가합니다.
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>1.26</version>
</dependency>
Gradle을 사용하는 경우, build.gradle
파일에 다음과 같이 의존성을 추가합니다.
dependencies {
implementation 'org.apache.tika:tika-core:1.26'
}
의존성을 추가한 후, 프로젝트를 다시 빌드합니다.
문서 분할하기
Apache Tika를 사용하여 문서를 분할하는 방법은 매우 간단합니다. 다음은 예제 코드입니다.
import org.apache.tika.Tika;
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.sax.BodyContentHandler;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class DocumentSplitter {
public static void main(String[] args) {
File inputFile = new File("input.docx");
try (InputStream inputStream = new FileInputStream(inputFile)) {
Tika tika = new Tika();
Parser parser = tika.getParser();
Metadata metadata = new Metadata();
ParseContext parseContext = new ParseContext();
BodyContentHandler handler = new BodyContentHandler();
parser.parse(inputStream, handler, metadata, parseContext);
String[] paragraphs = handler.toString().split("\\n\\n");
for (String paragraph : paragraphs) {
System.out.println(paragraph);
}
} catch (IOException e) {
e.printStackTrace();
} catch (TikaException e) {
e.printStackTrace();
}
}
}
위 코드는 input.docx
문서를 읽고, 각 단락을 분할하여 출력합니다. input.docx
파일은 변경해야 합니다.
결론
Apache Tika를 사용하면 다양한 문서 형식을 쉽게 분할하고 내용을 추출할 수 있습니다. 이를 통해 텍스트 분석, 검색 엔진 구현 등 다양한 응용 프로그램을 개발할 수 있습니다.
더 자세한 내용은 Apache Tika 공식 웹 사이트에서 확인할 수 있습니다.