Apache POI PPT - Quản lý trang trình bày
Sau khi hoàn thành chương này, bạn sẽ có thể xóa, sắp xếp lại và thực hiện các thao tác đọc và ghi trên một trang chiếu.
Thay đổi một Trang trình bày
Chúng ta có thể thay đổi kích thước trang của một trang chiếu bằng cách sử dụng setPageSize() phương pháp của XMLSlideShow lớp học.
Ban đầu hãy tạo một bản trình bày như hình dưới đây -
File file = new File("C://POIPPT//Examples// TitleAndContentLayout.pptx");
//create presentation
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Nhận kích thước của trang trình bày hiện tại bằng cách sử dụng getPageSize() phương pháp của XMLSlideShow lớp học.
java.awt.Dimension pgsize = ppt.getPageSize();
Đặt kích thước của trang bằng cách sử dụng setPageSize() phương pháp.
ppt.setPageSize(new java.awt.Dimension(1024, 768));
Chương trình hoàn chỉnh để thay đổi kích thước của một trang chiếu được đưa ra dưới đây:
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();
}
}
Lưu mã Java ở trên dưới dạng ChangingSlide.java, sau đó biên dịch và thực thi nó từ dấu nhắc lệnh như sau:
$javac ChangingSlide.java
$java ChangingSlide
Nó sẽ biên dịch và thực thi để tạo ra kết quả sau.
current page size of the presentation is :
width :720
height :540
slide size changed to given dimensions
Dưới đây là ảnh chụp nhanh của bản trình bày trước khi thay đổi kích thước trang chiếu -
Trang chiếu sẽ xuất hiện như sau sau khi thay đổi kích thước của nó:
Sắp xếp lại trang trình bày
Bạn có thể đặt thứ tự trang chiếu bằng cách sử dụng setSlideOrder()phương pháp. Dưới đây là quy trình để thiết lập thứ tự của các slide.
Mở tài liệu PPT hiện có như hình dưới đây -
File file = new File("C://POIPPT//Examples//example1.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Nhận các trang trình bày bằng cách sử dụng getSlides() như hình dưới đây -
XSLFSlide[] slides = ppt.getSlides();
Chọn một trang chiếu từ mảng các trang chiếu và thay đổi thứ tự bằng cách sử dụng setSlideOrder() như hình dưới đây -
//selecting the fourth slide
XSLFSlide selectesdslide = slides[4];
//bringing it to the top
ppt.setSlideOrder(selectesdslide, 1);
Dưới đây là chương trình hoàn chỉnh để sắp xếp lại các trang trình bày trong bản trình bày -
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();
}
}
Lưu mã Java ở trên dưới dạng ReorderSlide.java, sau đó biên dịch và thực thi nó từ dấu nhắc lệnh như sau:
$javac ReorderSlide.java
$java ReorderSlide
Nó sẽ biên dịch và thực thi để tạo ra kết quả sau.
Reordering of the slides is done
Dưới đây là ảnh chụp nhanh của bản trình bày trước khi sắp xếp lại thứ tự các trang trình bày -
Sau khi sắp xếp lại thứ tự các slide, bản trình bày sẽ xuất hiện như sau. Ở đây chúng tôi đã chọn slide có hình ảnh và chuyển nó lên trên cùng.
Xóa trang trình bày
Bạn có thể xóa các trang trình bày bằng cách sử dụng removeSlide()phương pháp. Làm theo các bước dưới đây để xóa các trang trình bày.
Mở bản trình bày hiện có bằng cách sử dụng XMLSlideShow lớp như hình dưới đây -
File file = new File("C://POIPPT//Examples//image.pptx");
XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(file));
Xóa trang trình bày được yêu cầu bằng cách sử dụng removeSlide()phương pháp. Phương thức này chấp nhận một tham số nguyên. Chuyển chỉ mục của trang chiếu sẽ bị xóa vào phương pháp này.
ppt.removeSlide(1);
Dưới đây là chương trình để xóa các trang trình bày khỏi bản trình bày -
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();
}
}
Lưu mã Java ở trên dưới dạng Deleteslide.java, sau đó biên dịch và thực thi nó từ dấu nhắc lệnh như sau:
$javac Deleteslide.java
$java Deleteslide
Nó sẽ biên dịch và thực thi để tạo ra kết quả sau:
reordering of the slides is done
Ảnh chụp nhanh bên dưới là của bản trình bày trước khi xóa trang chiếu -
Sau khi xóa trang chiếu, bản trình bày sẽ xuất hiện như sau: