[java] Apache POI를 이용한 Word 문서 파서

Apache POI는 Java에서 Microsoft Office 파일을 다룰 수 있는 라이브러리입니다. 이 라이브러리를 사용하여 Word 문서를 파싱하고 필요한 정보를 추출할 수 있습니다. 이번 블로그 포스트에서는 Apache POI를 이용하여 Word 문서를 파싱하는 방법에 대해 알아보겠습니다.

1. Apache POI 라이브러리 추가

먼저, Apache POI 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우 pom.xml 파일에 다음 의존성을 추가합니다:

<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.0.0</version>
    </dependency>
</dependencies>

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

dependencies {
    implementation 'org.apache.poi:poi:5.0.0'
    implementation 'org.apache.poi:poi-ooxml:5.0.0'
}

라이브러리를 추가한 후에는 프로젝트를 빌드해줍니다.

2. Word 문서 파싱하기

Apache POI를 사용하여 Word 문서를 파싱하는 방법은 다음과 같습니다:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

import java.io.FileInputStream;
import java.io.IOException;

public class WordParser {
    public static void main(String[] args) {
        try (FileInputStream fis = new FileInputStream("sample.docx");
             XWPFDocument document = new XWPFDocument(fis)) {
            for (XWPFParagraph paragraph : document.getParagraphs()) {
                for (XWPFRun run : paragraph.getRuns()) {
                    System.out.println(run.text());
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위의 예제 코드에서는 sample.docx라는 이름의 Word 문서를 파싱하여 각 단락의 텍스트를 출력하는 간단한 예시를 보여줍니다.

3. 추가적인 기능

Apache POI를 사용하면 단순히 텍스트를 추출하는 것 외에도 Word 문서의 스타일, 테이블, 이미지 등 다양한 요소를 다룰 수 있습니다. 자세한 내용은 Apache POI의 공식 문서를 참조하시기 바랍니다.

마무리

이번 포스트에서는 Apache POI를 사용하여 Word 문서를 파싱하는 방법에 대해 알아보았습니다. Apache POI는 강력한 기능을 제공하며 다양한 Office 파일 형식을 처리할 수 있습니다. 다음번에는 Excel 파일을 파싱하는 방법에 대해서도 알아보도록 하겠습니다.