PDFBox載入檔案


在前面的例子中,已經學習了如何建立一個新文件並向其中新增頁面。 本章將教您如何載入系統中已經存在的PDF文件,並對其進行一些操作。

載入現有的PDF文件

PDDocument類的load()方法用於載入現有的PDF文件。 按照以下步驟載入現有的PDF文件。

第1步:載入現有的PDF文件

使用PDDocument類的靜態方法load()載入現有的PDF文件。 此方法接受一個檔案物件作為引數,因為這是一個靜態方法,可以直接使用類名稱呼叫它,如下所示。

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

第2步:執行所需的操作

執行所需的操作,例如新增新增文字的頁面,將影象新增到載入的文件。

第3步:儲存文件

新增完所有頁面後,使用PDDocument類的save()方法儲存PDF文件,如以下程式碼塊所示。

document.save("Path");

第4步:關閉文件

最後使用PDDocument類的close()方法關閉文件,如下所示。

document.close();

範例

假設有一個包含單個頁面的PDF文件:sample.pdf,路徑為F:\worksp\pdfbox,如以下螢幕截圖所示。

本範例演示如何載入現有的PDF文件。 在這裡,將載入上面顯示的PDF文件sample.pdf,為它新增一個頁面,並將其儲存在F:/worksp/pdfbox/sample-addpages.pdf檔案中。

第1步 - 將此程式碼儲存在名為LoadingExistingDocument.java的檔案中。

package com.yiibai;

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

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;

public class LoadingExistingDocument {

    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);

        System.out.println("PDF loaded");

        // Adding a blank page to the document
        document.addPage(new PDPage());

        // Saving the document
        document.save("F:/worksp/pdfbox/sample-addpages.pdf");

        // Closing the document
        document.close();

    }
}

執行後,上述程式將載入指定的PDF文件,並向其新增一個空白頁面,以顯示以下訊息。

PDF loaded

如果驗證指定的路徑,可以找到新增到指定PDF文件的附加頁面,如下所示。