Apache POI XSLF
API Java nguồn mở cho bản trình bày PPTX
Tạo, Chỉnh sửa và Hợp nhất Bản trình bày Microsoft PowerPoint OOXML qua Thư viện Java.
Apache POI XLSF là một triển khai Java để đọc, tạo hoặc chỉnh sửa các tệp PowerPoint PPTX. Nó cung cấp chức năng cần thiết để làm việc với định dạng tệp OOXML của PowerPoint 2007, cho phép các nhà phát triển trích xuất dữ liệu như văn bản, hình ảnh, các đối tượng nhúng và hơn thế nữa từ các bản trình bày PowerPoint PPTX. Các nhà phát triển cũng có thể thêm hình dạng vào trang chiếu, quản lý siêu liên kết và hình ảnh, thêm video và chuyển đổi PPTX sang SVG.
Bắt đầu với Apache POI XLSF
Trước hết, bạn cần cài đặt Bộ phát triển Java (JDK) trên hệ thống của mình. Nếu bạn đã có thì hãy truy cập trang tải xuống của Apache POI để tải xuống bản phát hành ổn định mới nhất trong kho lưu trữ. Trích xuất nội dung của tệp ZIP trong bất kỳ thư mục nào từ đó các thư viện bắt buộc có thể được liên kết với chương trình Java của bạn. Đó là tất cả!
Tham chiếu Apache POI trong dự án Java dựa trên Maven của bạn thậm chí còn đơn giản hơn. Tất cả những gì bạn cần là thêm phần phụ thuộc sau vào pom.xml và cho phép IDE của bạn tìm nạp và tham chiếu các tệp Apache POI Jar.
Apache POI Maven Phụ thuộc
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
API Java để tạo bản trình bày mới & nối trang trình bày vào tệp hiện có
Apache POI XLSF cho phép các lập trình viên máy tính tạo bản trình bày PowerPoint mới ở định dạng tệp PPTX từ đầu. Các nhà phát triển cũng có thể chuyển đổi một bản trình bày hiện có theo nhu cầu của họ. Nó cung cấp khả năng đọc và sửa đổi các bản trình bày hiện có cũng như nối các trang trình bày vào bản trình bày hiện có theo nhu cầu của họ.
Tạo bản trình bày & thêm trang trình bày - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);
Tạo trang trình bày mới từ bố cục trang trình bày được xác định trước trong ứng dụng Java
Apache POI XLSF API đã bao gồm hỗ trợ thêm các trang trình bày mới từ bố cục trang trình bày được xác định trước bên trong bản trình bày PPTX. Bố cục trang trình bày chứa các hộp định dạng, định vị và chỗ dành sẵn cho tất cả nội dung xuất hiện trên trang chiếu. Bản trình bày PowerPoint có một số bố cục trang chiếu; trước hết, bạn cần xem những bố cục trang chiếu nào có sẵn để sử dụng. Có các trang chiếu cái khác nhau và trong mỗi trang chiếu cái chính, có một số bố cục trang chiếu.
Trang trình bày bố cục tiêu đề - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slidelayout.pptx"));
// create a new slide show
XMLSlideShow xmlSlideShow = new XMLSlideShow();
// initialize slide master object
XSLFSlideMaster xslfSlideMaster = xmlSlideShow.getSlideMasters().get(0);
// set Title layout
XSLFSlideLayout xslfSlideLayout = xslfSlideMaster.getLayout(SlideLayout.TITLE);
// create a new slide with title layout
XSLFSlide xslfSlide = xmlSlideShow.createSlide(xslfSlideLayout);
// select place holder
XSLFTextShape xslfTextShape = xslfSlide.getPlaceholder(0);
// set title
xslfTextShape.setText("Test");
// save file
xmlSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
Hợp nhất nhiều bản trình bày PPTX bằng Java
Bạn có nhiều bản trình bày PPTX mà bạn muốn kết hợp thành một bản trình bày? API Apache POI XLSF chắc chắn có thể giúp bạn và cho phép các nhà phát triển Java hợp nhất nhiều tệp PPTX của họ với nhau.
Hợp nhất các trang trình bày của bản trình bày - Java
// create a new PPTX file
FileOutputStream fileOutputStream = new FileOutputStream("MergegSlide.pptx");
// select two PPTX files
String[] inputFiles = {"Slide.pptx", "SlideLayout.pptx"};
// create a new slide show
XMLSlideShow slideShow = new XMLSlideShow();
// merge slides
for(String file : inputFiles){
FileInputStream inputstream = new FileInputStream(file);
XMLSlideShow xmlSlideShow = new XMLSlideShow(inputstream);
for(XSLFSlide srcSlide : xmlSlideShow.getSlides()) {
slideShow.createSlide().importContent(srcSlide);
}
}
// saving file
slideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();