[java] Apache POI를 이용한 PowerPoint 파일 편집

Apache POI는 자바로 개발된 라이브러리로, Microsoft Office 파일 형식을 읽고 쓸 수 있는 기능을 제공합니다. 이번 포스트에서는 Apache POI를 사용하여 PowerPoint 파일(.ppt 또는 .pptx)을 편집하는 방법에 대해 알아보겠습니다.

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>

위 의존성을 추가한 후, Maven을 통해 라이브러리를 다운로드 받아주세요.

PowerPoint 파일 불러오기

Apache POI를 사용하여 PowerPoint 파일을 불러오기 위해서는 SlideShow 클래스를 사용합니다. 아래는 PowerPoint 파일을 불러와서 슬라이드 개수를 출력하는 예제 코드입니다:

import org.apache.poi.sl.usermodel.*;
import org.apache.poi.xslf.usermodel.*;

public class PowerPointEditor {
    public static void main(String[] args) {
        try {
            XMLSlideShow ppt = new XMLSlideShow(new FileInputStream("sample.pptx"));
            System.out.println("슬라이드 개수: " + ppt.getSlides().size());
            ppt.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서 new FileInputStream("sample.pptx") 부분에 편집하고자 하는 PowerPoint 파일의 경로를 지정해주세요.

슬라이드 추가하기

Apache POI를 사용하여 슬라이드를 추가하는 방법은 다음과 같습니다:

import org.apache.poi.sl.usermodel.*;
import org.apache.poi.xslf.usermodel.*;

public class PowerPointEditor {
    public static void main(String[] args) {
        try {
            XMLSlideShow ppt = new XMLSlideShow();
            XSLFSlide slide = ppt.createSlide();
            
            XSLFTextShape title = slide.getPlaceholder(0);
            title.setText("새로운 슬라이드");
            
            ppt.write(new FileOutputStream("new.pptx"));
            ppt.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

위 예제 코드는 비어있는 슬라이드를 추가하고, 제목을 “새로운 슬라이드”로 설정한 후, 새로운 파일로 저장합니다.

결론

이번 포스트에서는 Apache POI를 사용하여 PowerPoint 파일을 편집하는 방법에 대해 알아보았습니다. Apache POI는 다양한 기능을 제공하므로, 자세한 사용법은 공식 문서를 참조하시기 바랍니다.

Apache POI를 활용하여 PowerPoint 파일을 효과적으로 편집해보세요!