![Apache POI PPT Tutorial](/apache_poi_ppt/images/apache-poi-ppt-mini-logo.jpg)
- 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
以下是更改幻灯片大小之前的演示文稿快照:
![TitleAndContentLayout](/apache_poi_ppt/images/TitleAndContentLayout.jpg)
更改大小后,幻灯片显示如下:
![SlideAfterChange](/apache_poi_ppt/images/slideAfterChange.jpg)
重新排序幻灯片
您可以使用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
以下是重新排序幻灯片之前的演示文稿快照:
![Before Reorder](/apache_poi_ppt/images/Before-Reorder.jpg)
重新排序幻灯片后,演示文稿显示如下。这里我们选择了带有图片的幻灯片并将其移动到顶部。
![After Reorder](/apache_poi_ppt/images/After-Reorder.jpg)
删除幻灯片
您可以使用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
以下是删除幻灯片之前的演示文稿快照:
![After Reorder](/apache_poi_ppt/images/After-Reorder.jpg)
删除幻灯片后,演示文稿显示如下:
![Delete Slides](/apache_poi_ppt/images/deleteslides.jpg)