現在讓我們學習如何從PDF文件中移除頁面。
使用PDDocument
類的removePage()
方法從現有的PDF文件中移除頁面。
第1步:載入現有的PDF文件
使用PDDocument
類的靜態方法load()
載入現有的PDF文件。 此方法接受一個檔案物件作為引數,因為這是一個靜態方法,可以使用類名稱呼叫它,如下所示。
File file = new File("path-of-the-document")
PDDocument.load(file);
第2步:列出頁數
使用getNumberOfPages()
方法列出PDF文件中存在的頁面數量,如下所示。
int noOfPages= document.getNumberOfPages();
System.out.print(noOfPages);
第3步:刪除頁面
使用PDDocument
類的removePage()
方法從PDF文件中移除頁面。 對於此方法,需要傳遞要刪除的頁面的索引。
在為PDF文件中的頁面指定索引時,請記住,這些頁面的索引從零開始,即如果要刪除第1
頁,則索引值為0
。
document.removePage(2); // 刪除第三頁
第4步:儲存文件
刪除頁面後,使用PDDocument
類的save()
方法儲存PDF文件,如以下程式碼塊中所示。
document.save("Path");
第5步:關閉文件
最後,使用PDDocument
類的close()
方法關閉文件,如下所示。
document.close();
假設有一個名稱為sample.pdf
的PDF文件,它包含三個空頁面,如下所示。
這個例子演示了如何從現有的PDF文件中刪除頁面。 在這裡,將載入上面名稱為sample.pdf
的PDF文件,從中刪除一個頁面,並將其儲存在:F:\worksp\pdfbox\sample-remove-pages.pdf
檔案中。 將此程式碼儲存在名稱為RemovingPages.java
的檔案中。
package com.yiibai;
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("F:/worksp/pdfbox/sample.pdf");
PDDocument document = PDDocument.load(file);
//Listing the number of existing pages
int noOfPages= document.getNumberOfPages();
System.out.println(noOfPages);
//Removing the pages
document.removePage(2);
System.out.println("page removed");
//Saving the document
document.save("F:/worksp/pdfbox/sample-remove-pages.pdf");
//Closing the document
document.close();
}
}
執行上面範例程式碼後,將會建立一個PDF文件,其中包含顯示以下訊息的空白頁面。
3
page removed
如果驗證指定的路徑,則可以發現所需頁面已被刪除,並且文件中只剩下兩頁,如下所示。