ตัวอย่างโคด
- ไฟล์แรก
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.XSLFTextParagraph; import org.apache.poi.xslf.usermodel.XSLFTextRun; import org.apache.poi.xslf.usermodel.XSLFTextShape; public class MergeFirstFilePowerPoint { public static void main(String[] args) { try { // path ของไฟล์ String fileName = "C:\\poi\\MergeFirstFilePowerPoint.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_AND_CONTENT); // สร้าง slide แรก XSLFSlide slide = ppt.createSlide(slidelayout); // ดึงค่า place holder คือการดึงค่าตำแหน่งของข้อความที่จะใส่ตาม layout นั้นๆ XSLFTextShape title = slide.getPlaceholder(0); // ใส่ เนื้อหาใน title title.setText("First PowerPoint"); // ดึงค่า place holder ตัวที่สอง XSLFTextShape body = slide.getPlaceholder(1); body.clearText(); // ใส่ เนื้อหาใน body XSLFTextParagraph paragraph = body.addNewTextParagraph(); XSLFTextRun text = paragraph.addNewTextRun(); text.setText("First Text Color."); text.setFontSize(50); text.setFontColor(java.awt.Color.red); ppt.write(out); out.close(); System.out.println("slide created successfully"); } catch (Exception e) { e.printStackTrace(); } } }
- ไฟล์ที่สอง
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.XSLFTextParagraph; import org.apache.poi.xslf.usermodel.XSLFTextRun; import org.apache.poi.xslf.usermodel.XSLFTextShape; public class MergeSecondFilePowerPoint { public static void main(String[] args) { try { // path ของไฟล์ String fileName = "C:\\poi\\MergeSecondFilePowerPoint.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_AND_CONTENT); // สร้าง slide แรก XSLFSlide slide = ppt.createSlide(slidelayout); // ดึงค่า place holder คือการดึงค่าตำแหน่งของข้อความที่จะใส่ตาม layout นั้นๆ XSLFTextShape title = slide.getPlaceholder(0); // ใส่ เนื้อหาใน title title.setText("Second PowerPoint"); // ดึงค่า place holder ตัวที่สอง XSLFTextShape body = slide.getPlaceholder(1); body.clearText(); // ใส่ เนื้อหาใน body XSLFTextParagraph paragraph = body.addNewTextParagraph(); XSLFTextRun text = paragraph.addNewTextRun(); text.setText("Second Text Color."); text.setFontSize(50); text.setFontColor(java.awt.Color.BLUE); ppt.write(out); out.close(); System.out.println("slide created successfully"); } catch (Exception e) { e.printStackTrace(); } } }
- การรวม slide
package com.java.poi.powerpoint; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.xslf.usermodel.XMLSlideShow; import org.apache.poi.xslf.usermodel.XSLFSlide; public class MergeFilePowerPoint { public static void main(String[] args) { try { // path ของไฟล์ String fileName = "C:\\poi\\MergeFilePowerPoint.pptx"; // บันทึกเอกสารไว้ในระบบตาม path ที่ระบุ FileOutputStream out = new FileOutputStream(fileName); // สร้างภาพนิ่งเปล่าๆ XMLSlideShow ppt = new XMLSlideShow(); // path ไฟล์เก่าที่จะทำการรวม slide String file1 = "C:\\poi\\MergeFirstFilePowerPoint.pptx"; String file2 = "C:\\poi\\MergeSecondFilePowerPoint.pptx"; String[] inputs = {file1, file2}; for(String arg : inputs){ FileInputStream inputstream = new FileInputStream(arg); XMLSlideShow src = new XMLSlideShow(inputstream); for(XSLFSlide srcSlide : src.getSlides()){ // ทำการรวม slide ppt.createSlide().importContent(srcSlide); } } ppt.write(out); out.close(); System.out.println("slide created successfully"); } catch (Exception e) { e.printStackTrace(); } } }
ไฟล์ที่ถูกสร้าง
ผลลัพธ์ที่ได้
ไฟล์แรก
ไฟล์ที่สอง
รวม slide
0 comments:
Post a Comment