[java] Apache POI를 이용한 Word 문서 테마 설정

Apache POI는 자바를 사용하여 Microsoft Office 파일을 조작할 수 있는 강력한 라이브러리입니다. Word 문서를 생성하고 편집하는 등의 작업을 할 수 있습니다. 이번 포스트에서는 Apache POI를 사용하여 Word 문서의 테마를 설정하는 방법에 대해 알아보겠습니다.

1. Apache POI 의존성 추가

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

<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>

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

implementation 'org.apache.poi:poi:4.1.2'
implementation 'org.apache.poi:poi-ooxml:4.1.2'

2. 테마 설정 코드 작성

우선, Word 문서를 생성하기 위한 기본 코드를 작성합니다.

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

import java.io.FileOutputStream;

public class WordThemeExample {

    public static void main(String[] args) {
        XWPFDocument document = new XWPFDocument();

        // 문서 내용 작성

        // 테마 설정하기
        XWPFDocumentTheme theme = document.createTheme();
        theme.setThemeColor(XWPFThemeColor.ACCENT_1, "#FF0000"); // 테마 색상 설정

        // 문서 저장하기
        try (FileOutputStream out = new FileOutputStream("example.docx")) {
            document.write(out);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

위의 코드에서 // 테마 설정하기 부분에서 실제 테마를 설정하는 코드를 작성합니다. XWPFDocumentTheme 객체를 생성한 후, setThemeColor 메소드를 사용하여 원하는 테마 색상을 설정할 수 있습니다. 예시로 ACCENT_1 색상에 #FF0000 값을 설정하였습니다.

3. 실행 및 결과 확인

위의 코드를 실행하면, 현재 디렉토리에 example.docx 파일이 생성됩니다. 이 파일을 열어보면 테마 설정이 적용된 Word 문서를 확인할 수 있습니다.

참고 자료