PDFBox - Xóa trang

Bây giờ chúng ta hãy tìm hiểu cách xóa các trang khỏi tài liệu PDF.

Xóa các trang khỏi tài liệu hiện có

Bạn có thể xóa một trang khỏi tài liệu PDF hiện có bằng cách sử dụng removePage() phương pháp của PDDocument lớp học.

Bước 1: Tải tài liệu PDF hiện có

Tải tài liệu PDF hiện có bằng phương pháp tĩnh load() sau đó PDDocumentlớp học. Phương thức này chấp nhận một đối tượng tệp làm tham số, vì đây là một phương thức tĩnh nên bạn có thể gọi nó bằng cách sử dụng tên lớp như được hiển thị bên dưới.

File file = new File("path of the document") 
PDDocument.load(file);

Bước 2: Liệt kê số lượng trang

Bạn có thể liệt kê số lượng trang tồn tại trong tài liệu PDF bằng cách sử dụng getNumberOfPages() như hình dưới đây.

int noOfPages= document.getNumberOfPages();
System.out.print(noOfPages);

Bước 3: Xóa trang

Bạn có thể xóa một trang khỏi tài liệu PDF bằng cách sử dụng removePage() phương pháp của PDDocumentlớp học. Đối với phương pháp này, bạn cần chuyển chỉ mục của trang sẽ bị xóa.

Trong khi chỉ định chỉ mục cho các trang trong tài liệu PDF, hãy nhớ rằng lập chỉ mục của các trang này bắt đầu từ 0, tức là nếu bạn muốn xóa trang thứ nhất thì giá trị chỉ mục cần phải bằng 0.

document.removePage(2);

Bước 4: Lưu tài liệu

Sau khi xóa trang, hãy lưu tài liệu PDF bằng save() phương pháp của PDDocument lớp như được hiển thị trong khối mã sau.

document.save("Path");

Bước 5: Đóng tài liệu

Cuối cùng, đóng tài liệu bằng cách sử dụng close() phương pháp của PDDocument lớp như hình bên dưới.

document.close();

Thí dụ

Giả sử, chúng ta có một tài liệu PDF có tên sample.pdf và nó chứa ba trang trống như hình dưới đây.

Ví dụ này trình bày cách xóa các trang khỏi tài liệu PDF hiện có. Tại đây, chúng tôi sẽ tải tài liệu PDF được chỉ định ở trên có tênsample.pdf, xóa một trang khỏi nó và lưu nó trong đường dẫn C:/PdfBox_Examples/. Lưu mã này trong một tệp có tênRemoving_pages.java.

import java.io.File;
import java.io.IOException;

import org.apache.pdfbox.pdmodel.PDDocument;

public class RemovingPages {

   public static void main(String args[]) throws IOException {

      //Loading an existing document
      File file = new File("C:/PdfBox_Examples/sample.pdf");
      PDDocument document = PDDocument.load(file);
       
      //Listing the number of existing pages
      int noOfPages= document.getNumberOfPages();
      System.out.print(noOfPages);
       
      //Removing the pages
      document.removePage(2);
      
      System.out.println("page removed");

      //Saving the document
      document.save("C:/PdfBox_Examples/sample.pdf");

      //Closing the document
      document.close();

   }
}

Biên dịch và thực thi tệp Java đã lưu từ dấu nhắc lệnh bằng các lệnh sau.

javac RemovingPages.java 
java RemovingPages

Khi thực hiện, chương trình trên sẽ tạo một tài liệu PDF với các trang trống hiển thị thông báo sau.

3
page removed

Nếu bạn xác minh đường dẫn được chỉ định, bạn có thể thấy rằng trang yêu cầu đã bị xóa và chỉ còn lại hai trang trong tài liệu như được hiển thị bên dưới.