Apache POI PPT - การจัดการสไลด์

หลังจากจบบทนี้คุณจะสามารถลบจัดลำดับและดำเนินการอ่านและเขียนบนสไลด์ได้

การเปลี่ยนสไลด์

เราสามารถเปลี่ยนขนาดหน้าของสไลด์โดยใช้ไฟล์ setPageSize() วิธีการของ XMLSlideShow ชั้นเรียน.

เริ่มต้นสร้างงานนำเสนอดังที่แสดงด้านล่าง -

File file = new File("C://POIPPT//Examples// TitleAndContentLayout.pptx");

//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

รับขนาดของสไลด์ปัจจุบันโดยใช้ไฟล์ getPageSize() วิธีการของ XMLSlideShow ชั้นเรียน.

java.awt.Dimension pgsize = ppt.getPageSize();

กำหนดขนาดของหน้าโดยใช้ setPageSize() วิธี.

ppt.setPageSize(new java.awt.Dimension(1024, 768));

โปรแกรมที่สมบูรณ์สำหรับการเปลี่ยนขนาดของสไลด์มีให้ด้านล่าง -

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xslf.usermodel.XMLSlideShow;

public class ChangingSlide {
   
   public static void main(String args[]) throws IOException {

      //create file object
      File file = new File("TitleAndContentLayout.pptx");
	 
      //create presentation
      XMLSlideShow ppt = new XMLSlideShow();
      
      //getting the current page size
      java.awt.Dimension pgsize = ppt.getPageSize();
      int pgw = pgsize.width; //slide width in points
      int pgh = pgsize.height; //slide height in points
      
      System.out.println("current page size of the PPT is:");
      System.out.println("width :" + pgw);
      System.out.println("height :" + pgh);
      
      //set new page size
      ppt.setPageSize(new java.awt.Dimension(2048,1536));
      
      //creating file object
      FileOutputStream out = new FileOutputStream(file);
      
      //saving the changes to a file
      ppt.write(out);
      System.out.println("slide size changed to given dimentions ");
      out.close();	
   }
}

บันทึกโค้ด Java ด้านบนเป็น ChangingSlide.javaจากนั้นรวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -

$javac ChangingSlide.java
$java ChangingSlide

มันจะคอมไพล์และดำเนินการเพื่อสร้างผลลัพธ์ต่อไปนี้

current page size of the presentation is : 
width :720
height :540
slide size changed to given dimensions

ด้านล่างนี้คือภาพรวมของงานนำเสนอก่อนเปลี่ยนขนาดสไลด์ -

สไลด์จะปรากฏดังต่อไปนี้หลังจากเปลี่ยนขนาด -

การเรียงลำดับสไลด์ใหม่

คุณสามารถตั้งค่าลำดับสไลด์โดยใช้ไฟล์ setSlideOrder()วิธี. ด้านล่างนี้เป็นขั้นตอนในการกำหนดลำดับของสไลด์

เปิดเอกสาร PPT ที่มีอยู่ดังแสดงด้านล่าง -

File file = new File("C://POIPPT//Examples//example1.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

รับสไลด์โดยใช้ไฟล์ getSlides() วิธีการดังแสดงด้านล่าง -

XSLFSlide[] slides = ppt.getSlides();

เลือกสไลด์จากอาร์เรย์ของสไลด์และเปลี่ยนลำดับโดยใช้ setSlideOrder() วิธีการดังแสดงด้านล่าง -

//selecting the fourth slide
XSLFSlide selectesdslide = slides[4];

//bringing it to the top
ppt.setSlideOrder(selectesdslide, 1);

ด้านล่างนี้เป็นโปรแกรมที่สมบูรณ์ในการเรียงลำดับสไลด์ในงานนำเสนอ -

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;

public class ReorderSlide {	
   
   public static void main(String args[]) throws IOException {
   
      //opening an existing presentation
      File file = new File("example1.pptx");
      XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
      
      //get the slides 
      XSLFSlide[] slides = ppt.getSlides();    
      
      //selecting the fourth slide
      XSLFSlide selectesdslide = slides[13];
      
      //bringing it to the top
      ppt.setSlideOrder(selectesdslide, 0);
      
      //creating an file object 
      FileOutputStream out = new FileOutputStream(file);
	  
      //saving the changes to a file
      ppt.write(out);
      out.close();	
   }
}

บันทึกโค้ด Java ด้านบนเป็น ReorderSlide.javaจากนั้นรวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -

$javac ReorderSlide.java
$java ReorderSlide

มันจะคอมไพล์และดำเนินการเพื่อสร้างผลลัพธ์ต่อไปนี้

Reordering of the slides is done

ด้านล่างนี้เป็นภาพรวมของงานนำเสนอก่อนจัดลำดับสไลด์ใหม่ -

หลังจากจัดลำดับสไลด์ใหม่งานนำเสนอจะปรากฏดังนี้ ที่นี่เราได้เลือกสไลด์พร้อมรูปภาพและย้ายไปด้านบน

การลบสไลด์

คุณสามารถลบสไลด์โดยใช้ไฟล์ removeSlide()วิธี. ทำตามขั้นตอนด้านล่างเพื่อลบสไลด์

เปิดงานนำเสนอที่มีอยู่โดยใช้ไฟล์ XMLSlideShow class ดังรูปด้านล่าง -

File file = new File("C://POIPPT//Examples//image.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));

ลบสไลด์ที่ต้องการโดยใช้ไฟล์ removeSlide()วิธี. วิธีนี้ยอมรับพารามิเตอร์จำนวนเต็ม ส่งดัชนีของสไลด์ที่จะลบไปยังวิธีนี้

ppt.removeSlide(1);

ด้านล่างเป็นโปรแกรมสำหรับลบสไลด์จากงานนำเสนอ -

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.xslf.usermodel.XMLSlideShow;

public class Deleteslide { 
   
   public static void main(String args[]) throws IOException {
   
      //Opening an existing slide
      File file = new File("image.pptx");
      XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
      
      //deleting a slide
      ppt.removeSlide(1);
      
      //creating a file object
      FileOutputStream out = new FileOutputStream(file);
      
      //Saving the changes to the presentation
      ppt.write(out);
      out.close();	
   }
}

บันทึกโค้ด Java ด้านบนเป็น Deleteslide.javaจากนั้นรวบรวมและดำเนินการจากพรอมต์คำสั่งดังต่อไปนี้ -

$javac Deleteslide.java
$java Deleteslide

มันจะรวบรวมและดำเนินการเพื่อสร้างผลลัพธ์ต่อไปนี้ -

reordering of the slides is done

ภาพรวมด้านล่างเป็นของงานนำเสนอก่อนที่จะลบสไลด์ -

หลังจากลบสไลด์งานนำเสนอจะปรากฏดังนี้ -