การเปลี่ยนขนาด Slide
ในการเปลี่ยนขนาดของ slide นั้นเราใช้เมธอด setPageSize() ครับ
ตัวอย่างโคด
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 ResizePowerPoint { public static void main(String[] args) { try { // path ของไฟล์ String fileName = "C:\\poi\\ResizePowerPoint.pptx"; // บันทึกเอกสารไว้ในระบบตาม path ที่ระบุ FileOutputStream out = new FileOutputStream(fileName); // สร้างภาพนิ่งเปล่าๆ XMLSlideShow ppt = new XMLSlideShow(); // กำหนดขนาด slide ppt.setPageSize(new java.awt.Dimension(2048,1536)); // ดึงค่า object ของ 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(); } } }
ไฟล์ที่ถูกสร้าง
ผลลัพธ์ที่ได้
ก่อน
หลัง
การเรียงลำดับ Slide
ในการเรียงลำดับของ slide นั้นเราใช้เมธอด setSlideOrder() ครับ
ตัวอย่างโคด
- สร้าง slide ไว้ 4 slide
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; public class ReorderPowerPoint { public static void main(String[] args) { try { // path ของไฟล์ String fileName = "C:\\poi\\ReorderPowerPoint.pptx"; // บันทึกเอกสารไว้ในระบบตาม path ที่ระบุ FileOutputStream out = new FileOutputStream(fileName); // สร้างภาพนิ่งเปล่าๆ XMLSlideShow ppt = new XMLSlideShow(); // ดึงค่า object ของ slide master XSLFSlideMaster slideMaster = ppt.getSlideMasters()[0]; // ดึงค่า slide layout XSLFSlideLayout slidelayout = slideMaster.getLayout(SlideLayout.TITLE_ONLY); // สร้าง slide 1 XSLFSlide slide1 = ppt.createSlide(slidelayout); slide1.getPlaceholder(0).setText("Slide Index 1"); // สร้าง slide 2 XSLFSlide slide2 = ppt.createSlide(slidelayout); slide2.getPlaceholder(0).setText("Slide Index 2"); // สร้าง slide 3 XSLFSlide slide3 = ppt.createSlide(slidelayout); slide3.getPlaceholder(0).setText("Slide Index 3"); // สร้าง slide 4 XSLFSlide slide4 = ppt.createSlide(slidelayout); slide4.getPlaceholder(0).setText("Slide Index 4"); ppt.write(out); out.close(); System.out.println("slide created successfully"); } catch (Exception e) { e.printStackTrace(); } } }
- slide ที่ 4 ย้ายไปไว้บนสุด
package com.java.poi.powerpoint; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.xslf.usermodel.XMLSlideShow; import org.apache.poi.xslf.usermodel.XSLFSlide; public class MovePowerPoint { public static void main(String[] args) { try { // path ของไฟล์ String fileName = "C:\\poi\\MovePowerPoint.pptx"; // บันทึกเอกสารไว้ในระบบตาม path ที่ระบุ FileOutputStream out = new FileOutputStream(fileName); // ดึงภาพนิ่งที่สร้างก่อนหน้านั้น File file = new File("C:\\poi\\ReorderPowerPoint.pptx"); XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file)); // ดึงค่า slide ทั้งหมด XSLFSlide[] slides = ppt.getSlides(); // เลือก slide ที่ 4 โดยลักษณะของลำดับจะเรียงตั้งแต่ 0,1,2,3... XSLFSlide selectesdslide= slides[3]; // กำหนดให้ slide ที่ 4 ไว้บนสุด ppt.setSlideOrder(selectesdslide, 0); ppt.write(out); out.close(); System.out.println("slide created successfully"); } catch (Exception e) { e.printStackTrace(); } } }ไฟล์ที่ถูกสร้าง
ผลลัพธ์ที่ได้
ก่อน
หลัง
การลบ Slide
ในการลบของ slide นั้นเราใช้เมธอด removeSlide() ครับ
ตัวอย่างโคด
package com.java.poi.powerpoint; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.xslf.usermodel.XMLSlideShow; public class DeletePowerPoint { public static void main(String[] args) { try { // path ของไฟล์ String fileName = "C:\\poi\\DeletePowerPoint.pptx"; // บันทึกเอกสารไว้ในระบบตาม path ที่ระบุ FileOutputStream out = new FileOutputStream(fileName); // ดึงภาพนิ่งที่สร้างก่อนหน้านั้น File file = new File("C:\\poi\\ReorderPowerPoint.pptx"); XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file)); // ลบ slide ที่ 2 โดยลักษณะของลำดับจะเรียงตั้งแต่ 0,1,2,3... ppt.removeSlide(1); ppt.write(out); out.close(); System.out.println("slide created successfully"); } catch (Exception e) { e.printStackTrace(); } } }
ไฟล์ที่ถูกสร้าง
ผลลัพธ์ที่ได้
ก่อน
หลัง
0 comments:
Post a Comment