- การสร้าง object ของ XMLSlideShow
- ดึงค่า default object ของ slide master XSLFSlideMaster จาก object ของ XMLSlideShow
- ดึงค่า slide layout XSLFSlideLayout จาก slide master XSLFSlideMaster
- สร้าง slide XSLFSlide จาก slide layout XSLFSlideLayout
- ดึงค่า XSLFTextShape จาก XSLFSlide
- ดึงค่า Placeholder และกำหนดข้อความต่างๆให้ Placeholder นั้นๆ ซึ่งจำนวน Placeholder ขึ้นอยู่กับ slide layout XSLFSlideLayout
ตัวอย่างโคด
package com.java.poi.powerpoint;
import java.io.FileOutputStream;
import org.apache.poi.xslf.usermodel.SlideLayout;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideLayout;
import org.apache.poi.xslf.usermodel.XSLFSlideMaster;
import org.apache.poi.xslf.usermodel.XSLFTextShape;
public class HelloPowerPoint {
public static void main(String[] args) {
try {
// path ของไฟล์
String fileName = "C:\\poi\\HelloPowerPoint.pptx";
// บันทึกเอกสารไว้ในระบบตาม path ที่ระบุ
FileOutputStream out = new FileOutputStream(fileName);
// สร้างภาพนิ่งเปล่าๆ
XMLSlideShow ppt = new XMLSlideShow();
// ดึงค่า object ของ default slide master
XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0];
// ดึงค่า slide layout
XSLFSlideLayout slidelayout = slideMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);
// สร้าง slide แรก
XSLFSlide slide = ppt.createSlide(slidelayout);
// ดึงค่า place holder คือการดึงค่าตำแหน่งของข้อความที่จะใส่ตาม layout นั้นๆ
XSLFTextShape title = slide.getPlaceholder(0);
// ใส่ เนื้อหาใน title
title.setText("Hello PowerPoint");
// ดึงค่า place holder ตัวที่สอง
XSLFTextShape body = slide.getPlaceholder(1);
body.clearText();
// ใส่ เนื้อหาใน body
body.addNewTextParagraph().addNewTextRun().setText("this is my first slide content.");
ppt.write(out);
out.close();
System.out.println("slide created successfully");
} catch (Exception e) {
e.printStackTrace();
}
}
}
ไฟล์ที่ถูกสร้าง
ผลลัพธ์ที่ได้



0 comments:
Post a Comment