- การสร้าง 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