[java] Apache POI를 이용한 PowerPoint 파일 쓰기
Apache POI는 자바로 Microsoft Office 파일 포맷을 다룰 수 있는 라이브러리입니다. 이번 포스트에서는 Apache POI를 사용하여 PowerPoint 파일을 생성하고 편집하는 방법을 알아보겠습니다.
1. Apache POI 라이브러리 추가하기
먼저, Apache POI 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음의 의존성을 추가합니다:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
Gradle을 사용하는 경우, build.gradle
파일에 다음의 의존성을 추가합니다:
implementation 'org.apache.poi:poi-ooxml:4.1.2'
의존성을 추가한 후, 프로젝트를 빌드하면 Apache POI가 사용 가능해집니다.
2. PowerPoint 파일 생성하기
먼저, PowerPoint 파일을 생성해보겠습니다.
import java.io.FileOutputStream;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
public class CreatePowerPoint {
public static void main(String[] args) throws Exception {
// PowerPoint 파일 생성
XMLSlideShow ppt = new XMLSlideShow();
// 슬라이드 생성
XSLFSlide slide = ppt.createSlide();
// 슬라이드에 텍스트 추가
slide.createTextBox().setText("Hello, World!");
// 저장할 파일 경로 지정
FileOutputStream out = new FileOutputStream("example.pptx");
// 파일 저장
ppt.write(out);
// 파일 닫기
out.close();
System.out.println("PowerPoint 파일이 생성되었습니다.");
}
}
위의 코드에서 생성된 PowerPoint 파일은 example.pptx
라는 이름으로 저장됩니다.
3. PowerPoint 파일 편집하기
이제 생성된 PowerPoint 파일을 편집해보겠습니다.
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFTextParagraph;
import org.apache.poi.xslf.usermodel.XSLFTextShape;
public class EditPowerPoint {
public static void main(String[] args) throws Exception {
// PowerPoint 파일 불러오기
FileInputStream input = new FileInputStream("example.pptx");
XMLSlideShow ppt = new XMLSlideShow(input);
// 첫 번째 슬라이드 가져오기
XSLFSlide slide = ppt.getSlides().get(0);
// 텍스트 모양 가져오기
XSLFTextShape textShape = (XSLFTextShape) slide.getShapes().get(0);
// 텍스트 추가 및 수정
XSLFTextParagraph paragraph = textShape.addNewTextParagraph();
paragraph.addNewTextRun().setText("Welcome to Apache POI!");
// 수정된 파일 저장
FileOutputStream output = new FileOutputStream("edited_example.pptx");
ppt.write(output);
output.close();
System.out.println("PowerPoint 파일이 편집되었습니다.");
}
}
위의 코드에서 생성된 PowerPoint 파일은 edited_example.pptx
라는 이름으로 저장됩니다.
결론
이번 포스트에서는 Apache POI를 이용하여 PowerPoint 파일을 쓰는 방법을 살펴보았습니다. Apache POI는 강력한 기능을 제공하며, 자바 개발자들에게 효율적인 Office 파일 다루기 솔루션을 제공합니다.
더 자세한 내용은 Apache POI 공식 문서를 참고하세요.