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

Apache POI는 Java에서 Microsoft Office 파일을 다루기 위한 라이브러리입니다. 이를 사용하면 Java 프로그램에서 Word, Excel, PowerPoint 등의 파일을 생성, 수정 및 읽기 할 수 있습니다. 이번 블로그 포스트에서는 Apache POI를 사용하여 Word 문서를 점검하는 방법을 살펴보겠습니다.

1. Apache POI 의존성 추가

먼저 Maven이나 Gradle 등을 사용하여 Apache POI의 의존성을 프로젝트에 추가해야 합니다. 아래는 Maven을 사용하는 경우의 예시입니다.

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

2. Word 문서 읽기

Apache POI를 사용하여 Word 문서를 읽기 위해서는 XWPFDocument 클래스를 사용해야 합니다. 아래는 Word 문서를 읽고 출력하는 간단한 코드 예시입니다.

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

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

public class WordReader {

    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("example.docx");
            XWPFDocument document = new XWPFDocument(fis);

            for(XWPFParagraph paragraph : document.getParagraphs()){    
                System.out.println(paragraph.getText());
            }

            document.close();
            fis.close();
        } catch(IOException e){
            e.printStackTrace();
        }
    }
}

3. 문서 점검

Apache POI를 사용하여 Word 문서를 점검하기 위해서는 각 문단에 대해 원하는 규칙을 확인하고 처리해야 합니다. 예를 들어, 문서 내에 특정 단어가 포함되어 있는지 확인하거나, 특정 스타일을 가진 문장을 찾아내는 등의 작업이 가능합니다.

아래는 Word 문서의 각 문단을 반복하면서 특정 단어를 찾는 예시 코드입니다.

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

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

public class WordChecker {

    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("example.docx");
            XWPFDocument document = new XWPFDocument(fis);

            String targetWord = "Apache";
            
            for(XWPFParagraph paragraph : document.getParagraphs()){
                if(paragraph.getText().contains(targetWord)){
                    System.out.println("문서 내에 '" + targetWord + "' 단어가 포함되어 있습니다.");
                }
            }

            document.close();
            fis.close();
        } catch(IOException e){
            e.printStackTrace();
        }
    }
}

위 예시 코드에서는 “Apache”라는 단어가 문서 내에 포함되어 있는지를 확인하고 있습니다.

결론

Apache POI를 사용하면 Java에서 Word 문서를 손쉽게 다룰 수 있습니다. 위에서는 간단한 예시를 통해 Word 문서를 읽고 점검하는 방법을 알아보았습니다. Apache POI의 다른 기능들을 활용하여 보다 다양한 작업을 수행할 수 있으니, 자세한 내용은 Apache POI 공식 문서를 참고하시기 바랍니다.