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

이번 포스트에서는 Apache POI 라이브러리를 사용하여 Java에서 Word 문서를 병합하는 방법을 알아보겠습니다.

Apache POI는 Java에서 Microsoft Office 파일을 처리하는 데 사용되는 인기있는 라이브러리입니다. 이 라이브러리를 사용하면 Java에서 Word, Excel 및 PowerPoint 파일을 생성, 수정 및 읽을 수 있습니다.

Apache POI 라이브러리 설치

Maven을 사용하는 경우, pom.xml 파일에 다음 종속성을 추가하여 Apache POI를 설치할 수 있습니다.

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

Maven을 사용하지 않는 경우, Apache POI의 최신 버전 JAR 파일을 다운로드하여 프로젝트의 클래스패스에 추가해야 합니다.

Word 문서 병합하기

아래 예제 코드는 Apache POI를 사용하여 Word 문서를 병합하는 방법을 보여줍니다.

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

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class WordDocumentMerger {

    public static void mergeDocuments(List<String> sourceDocuments, String mergedDocument) throws IOException {
        XWPFDocument mergedDoc = new XWPFDocument();

        for (String sourceDocument : sourceDocuments) {
            FileInputStream fis = new FileInputStream(sourceDocument);
            XWPFDocument doc = new XWPFDocument(fis);

            for (XWPFParagraph paragraph : doc.getParagraphs()) {
                mergedDoc.createParagraph().createRun().setText(paragraph.getText());
            }

            fis.close();
        }

        FileOutputStream fos = new FileOutputStream(mergedDocument);
        mergedDoc.write(fos);
        fos.close();
    }

    public static void main(String[] args) {
        List<String> sourceDocuments = new ArrayList<>();
        sourceDocuments.add("document1.docx");
        sourceDocuments.add("document2.docx");

        String mergedDocument = "merged_document.docx";

        try {
            mergeDocuments(sourceDocuments, mergedDocument);
            System.out.println("문서 병합이 완료되었습니다.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 예제 코드에서는 mergeDocuments 메서드를 사용하여 Word 문서를 병합합니다. sourceDocuments 리스트에 병합할 Word 문서 파일의 경로를 추가하고, mergedDocument 변수에 병합된 Word 문서 파일의 경로를 지정합니다.

문서 병합이 완료되면 “문서 병합이 완료되었습니다.” 메시지가 출력됩니다.

결론

이번 포스트에서는 Apache POI를 사용하여 Java에서 Word 문서를 병합하는 방법을 알아보았습니다. Apache POI는 강력하고 유연한 라이브러리이며, 다양한 Office 파일 형식을 처리할 수 있습니다. 추가적인 기능과 활용 방법을 찾아보시기 바랍니다.

참고

```