การเปลี่ยนขนาด 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