Apache POI HSLF
Thư viện Java dành cho Microsoft ® Định dạng tệp bản trình bày PPT
Thêm Trang trình bày & Hình ảnh vào Bản trình bày, Chuyển đổi Tệp PPT với Java API Miễn phí mã nguồn mở.
Apache POI HSLF là gì?
Apache POI HSLF là triển khai Java thuần túy để đọc, tạo, sửa đổi hoặc kết xuất các bản trình bày PowerPoint. Nó cung cấp một cách để đọc, tạo hoặc sửa đổi định dạng tệp PPT của bản trình bày PowerPoint. Nó cung cấp hỗ trợ trích xuất dữ liệu như văn bản, hình ảnh, âm thanh, các đối tượng nhúng và nhiều hơn thế nữa từ các bản trình bày PowerPoint.
Nó cũng hỗ trợ vẽ một hình dạng trên trang chiếu, thêm siêu liên kết, Bảng, hình ảnh, tùy chỉnh Đầu trang & Chân trang, tạo danh sách dấu đầu dòng, truy xuất âm thanh nhúng và hơn thế nữa.
Bắt đầu với Apache POI HSLF
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-scratchpad</artifactId>
<version>4.1.0</version>
</dependency>
Tự động tạo PPT mới hoặc sửa đổi các bản trình bày hiện có
Apache POI HSLF cho phép lập trình viên tạo bản trình bày PowerPoint mới ở định dạng tệp PPT. 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ọ. API cũng hỗ trợ các tính năng trích xuất dữ liệu như văn bản, hình ảnh, âm thanh, các đối tượng nhúng, v.v. từ các bản trình bày PowerPoint.
Tạo tệp PPT - Java
// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("Slide.ppt"));
// create a new slide show
HSLFSlideShow xmlSlideShow = new HSLFSlideShow();
// save file
xmlSlideShow.write(fileOutputStream);
Thêm Trang trình bày, Hình ảnh & Tùy chỉnh Đầu trang & Chân trang cho PPT
Các nhà phát triển có thể dễ dàng thêm các trang trình bày mới và sửa đổi các trang trình bày hiện có theo nhu cầu riêng của họ bên trong bản trình bày PPT bằng Apache HSLF API. Các nhà phát triển hiện có thể thêm đầu trang và chân trang tùy chỉnh vào bản trình bày của họ. Nó cũng cung cấp hỗ trợ hoàn chỉnh để thêm tiêu đề cho trang chiếu, tạo trang chiếu với bố cục được xác định trước, làm việc với nền trang chiếu / hình dạng và hơn thế nữa.
Chèn hình ảnh trong PPT qua Java
- Tạo một tệp PPT mới bằng cách sử dụng FileOutputStream và chuyển phiên bản của Tệp mới () với tên tệp đầu ra là chuỗi
- Thêm trình chiếu mới bằng phương thức HSLFSlideShow ()
- Thêm trang trình bày mới bằng phương thức createSlide ()
- Nhận byte hình ảnh bằng phương thức IOUtils.toByteArray () và chuyển hình ảnh của bạn vào đó thông qua phương thức FileInputStream ()
- Thêm hình ảnh vào trang trình bày của bạn bằng phương pháp hslfSlideShow.addPicture (ảnh, HSLFPictureData.PictureType.PNG). Phương thức chấp nhận các byte hình ảnh và kiểu hình ảnh làm đối số
- Viết và lưu tệp
Thêm hình ảnh trong PPT - Java
// create a new PPT file
FileOutputStream fileOutputStream = new FileOutputStream(new File("AddImage.ppt"));
// create a new slide show
HSLFSlideShow hslfSlideShow = new HSLFSlideShow();
// create slide
HSLFSlide slide = hslfSlideShow.createSlide();
// load image
byte[] picture = IOUtils.toByteArray(new FileInputStream(new File("apache-poi-logo-min.png")));
// add image
HSLFPictureData hslfPictureData = hslfSlideShow.addPicture(picture, HSLFPictureData.PictureType.PNG);
HSLFPictureShape pictureShape = slide.createPicture(hslfPictureData);
// save file
hslfSlideShow.write(fileOutputStream);
// close stream
fileOutputStream.close();
Chuyển đổi Trang trình bày sang Định dạng Hình ảnh bằng Java API
Apache POI HSLF API cho phép các nhà phát triển Phần mềm chuyển đổi từng trang chiếu của Bản trình bày PowerPoint thành định dạng tệp hình ảnh bên trong các ứng dụng Java của họ. Bạn có thể chụp các trang trình bày vào đối tượng java.awt.Graphics2D (hoặc bất kỳ hình thức nào khác) và tuần tự hóa nó thành định dạng PNG hoặc JPEG. Các hình ảnh được hỗ trợ có thể ở định dạng JPEG, PNG, DIB, v.v.
Chuyển đổi PPT sang Hình ảnh - Java
//open an existing PPT file
HSLFSlideShow hslfSlideShow = new HSLFSlideShow(new FileInputStream(new File("PPTtoImage.ppt")));
// get dimensions
Dimension pgsize = hslfSlideShow.getPageSize();
java.util.List slide = hslfSlideShow.getSlides();
for (int i = 0; i < slide.size(); i++) {
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
// clear the drawing area
graphics.setPaint(Color.white);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
// render
slide.get(i).draw(graphics);
// create image
FileOutputStream out = new FileOutputStream("PPTtoImage.png");
javax.imageio.ImageIO.write(img, "png", out);
out.close();
}