PDFBox刪除頁面
現在讓我們學習如何從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
如果驗證指定的路徑,則可以發現所需頁面已被刪除,並且文檔中只剩下兩頁,如下所示。