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

Apache POI는 Java에서 Microsoft Office 포맷 파일(예: Word, Excel, PowerPoint)을 생성, 수정 및 변환하는 데 사용되는 라이브러리입니다. 이번 포스트에서는 Apache POI를 사용하여 Word 문서를 변환하는 방법에 대해 알아보겠습니다.

1. Apache POI 라이브러리 추가

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

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

Maven을 사용하지 않는 경우, Apache POI Downloads 페이지에서 라이브러리 파일을 다운로드하고 프로젝트 빌드 경로에 추가해야 합니다.

2. Word 문서 변환하기

다음은 Apache POI를 사용하여 Word 문서를 변환하는 간단한 예제입니다. 아래 코드는 참조용으로 작성되었으며, 실제 사용 시에는 패턴을 수정해야 할 수도 있습니다.

import org.apache.poi.xwpf.usermodel.*;
import java.io.*;

public class WordConverter {

    public static void main(String[] args) throws IOException {
        // 변환할 Word 문서 경로
        String inputFilePath = "C:/path/to/input.docx";
        
        // 변환된 HTML 문서 경로
        String outputFilePath = "C:/path/to/output.html";

        FileInputStream fis = new FileInputStream(inputFilePath);
        XWPFDocument document = new XWPFDocument(fis);

        // 변환된 HTML 결과를 저장하기 위한 FileWriter
        FileWriter writer = new FileWriter(new File(outputFilePath));

        // HTMLWriter를 사용하여 Word 문서를 HTML로 변환
        XHTMLOptions options = XHTMLOptions.create();
        XHTMLConverter.getInstance().convert(document, writer, options);

        writer.close();
        fis.close();

        System.out.println("Word 문서 변환 완료!");
    }
}

위의 코드에서는 Apache POI의 XWPFDocument 클래스를 사용하여 Word 문서를 읽고, XHTMLConverter 클래스를 사용하여 Word 문서를 HTML로 변환하고 있습니다. 변환된 HTML 내용은 outputFilePath에 저장됩니다.

결론

Apache POI 라이브러리를 사용하여 Word 문서를 변환하는 방법을 알아보았습니다. Apache POI는 Microsoft Office 파일 형식을 처리하기 위한 강력하고 유연한 도구이므로, 다양한 변환 및 조작 작업을 수행할 수 있습니다. 자세한 내용은 Apache POI Documentation을 참조하시기 바랍니다.