- Apache POI PPT 教程
- Apache POI PPT - 首頁
- Apache POI PPT - 概述
- Apache POI PPT - Java API 型別
- Apache POI PPT - 安裝
- Apache POI PPT - 類和方法
- Apache POI PPT - 簡報
- Apache POI PPT - 幻燈片版式
- Apache POI PPT - 幻燈片管理
- Apache POI PPT - 圖片
- Apache POI PPT - 建立超連結
- Apache POI PPT - 讀取形狀
- Apache POI PPT - 格式化文字
- Apache POI PPT - 合併
- Apache POI PPT - PPT 轉圖片
- Apache POI PPT 資源
- Apache POI PPT - 快速指南
- Apache POI PPT - 有用資源
- Apache POI PPT - 討論
Apache POI PPT - 幻燈片管理
完成本章後,您將能夠刪除、重新排序以及對幻燈片執行讀寫操作。
更改幻燈片
我們可以使用XMLSlideShow類的setPageSize()方法更改幻燈片的頁面大小。
最初,建立一個如下所示的簡報:
File file = new File("C://POIPPT//Examples// TitleAndContentLayout.pptx");
//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
使用XMLSlideShow類的getPageSize()方法獲取當前幻燈片的大小。
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()方法獲取幻燈片,如下所示:
List<XSLFSlide> slides = ppt.getSlides();
從幻燈片陣列中選擇一個幻燈片,並使用setSlideOrder()方法更改其順序,如下所示:
//selecting the fourth slide XSLFSlide selectesdslide = slides.get(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 java.util.List;
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
List<XSLFSlide> slides = ppt.getSlides();
//selecting the fourth slide
XSLFSlide selectesdslide = slides.get(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類開啟現有的簡報,如下所示:
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
以下是刪除幻燈片之前的簡報快照:
刪除幻燈片後,簡報顯示如下: