跳過到頁腳內容
使用 IRONPDF FOR JAVA

如何在 Java 中從模板創建 PDF

IronPDF for Java 的一大優點就是能夠處理 PDF 範本。 PDF範本是預先設計好的PDF文件,其中包含動態內容的佔位符。 使用IronPDF,您可以輕鬆地將這些佔位符替換為實際數據,從而產生自訂的 PDF 格式新文件。

IronPDF

IronPDF是由Iron Software開發和維護的 Java 程式庫。 它提供了一個易於使用的介面,抽象化了 PDF 生成的許多複雜性,使開發人員能夠專注於 PDF 的內容,而不是文件的生成細節。 IronPDF還提供了一系列功能,使用戶能夠輕鬆使用 PDF 範本、可填寫表單和數位簽章

本教學將引導您完成使用 Java 中的IronPDF從範本建立 PDF 檔案所需的步驟。

第一步是建立專案。

步驟 1:建立一個新的 Java 項目

以下是使用 IntelliJ IDEA 建立新 Java 專案的步驟:

  1. 開啟 IntelliJ IDEA,從歡迎畫面或"檔案"選單中選擇"建立新項目"。
  2. 從左側選單中選擇"Java",然後選擇您要用於專案的 JDK 版本。 點選"下一步"。
  3. 為您的項目選擇項目名稱和地點,並選擇項目類型。 您可以從多種不同的專案類型中進行選擇,例如"Java 應用程式"、"Java 庫"或"JavaFX 應用程式"。 點選"下一步"。
  4. 配置項目設定。 您可以指定專案 SDK、專案語言等級和其他設定。 您也可以選擇建立模組或選擇現有模組。 點選"下一步"。
  5. 選擇項目模板。 您可以選擇建立空白項目、具有範例程式碼的項目,或匯入現有項目。 點選"完成"。

如何在Java中從範本建立PDF,圖1:使用IntelliJ IDEA建立新的Java專案 使用 IntelliJ IDEA 建立新的 Java 項目

步驟 2:將IronPDF庫新增到您的專案中

第二步是使用 XML 檔案將IronPDF庫新增到您的 Java 專案中。您可以透過將以下依賴項新增至專案的 pom.xml 檔案來實現:


<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>VERSION_NUMBER</version> 
</dependency>

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>VERSION_NUMBER</version> 
</dependency>
XML

步驟 3:建立 PDF 模板

接下來,您需要建立一個PDF模板,用於產生PDF文件。您可以使用任何PDF編輯器建立PDF範本。 模板可以包含佔位符,這些佔位符將在運行時替換為動態資料。

假設有一個使用場景,需要向 50 名學生頒發證書。 現在為每個使用者建立單獨的憑證是一項非常繁瑣的任務。 所以,我們使用了一個模板,只需按照下面演示的程式更改名稱。

如何在Java中從範本建立PDF,圖2:憑證範本影像實例 憑證範本映像實例

步驟 4:從範本建立 PDF 文檔

建立 PDF 範本憑證後,第一步是將其載入到 Java 應用程式中。 IronPDF類別用於將 PDF 模板載入記憶體中。 以下是一個範例程式碼片段,展示如何使用IronPDF載入 PDF 模板:

// Load the PDF template into memory using IronPDF
PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));
// Load the PDF template into memory using IronPDF
PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));
JAVA

現在,讓我們編寫一個程式碼範例,根據給定的範本建立 5 個憑證。

import com.ironsoftware.ironpdf.PageSelection;
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class CertificateGenerator {
    public static void main(String[] args) throws IOException {
        // Array of student names
        String[] studentNames = {"Georgia Wade", "Juliet Dave", "Olive Seth", "Miles Jorg", "Oscar Den"};

        // Iterate through each student's name
        for (String name : studentNames) {
            // Load the PDF template
            PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));

            // Replace the placeholder text with the student's name
            pdfDoc.replaceText(PageSelection.firstPage(), "Recipient Name", name);

            // Save the new PDF with the student's name as the file name
            pdfDoc.saveAs(Paths.get("Certificate/" + name + ".pdf"));
        }
    }
}
import com.ironsoftware.ironpdf.PageSelection;
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class CertificateGenerator {
    public static void main(String[] args) throws IOException {
        // Array of student names
        String[] studentNames = {"Georgia Wade", "Juliet Dave", "Olive Seth", "Miles Jorg", "Oscar Den"};

        // Iterate through each student's name
        for (String name : studentNames) {
            // Load the PDF template
            PdfDocument pdfDoc = PdfDocument.fromFile(Paths.get("CERTIFICATE.pdf"));

            // Replace the placeholder text with the student's name
            pdfDoc.replaceText(PageSelection.firstPage(), "Recipient Name", name);

            // Save the new PDF with the student's name as the file name
            pdfDoc.saveAs(Paths.get("Certificate/" + name + ".pdf"));
        }
    }
}
JAVA

以下是輸出日誌:

如何在Java中從範本建立PDF,圖3:輸出 輸出

上面的程式碼建立了一個學生姓名數組,然後使用IronPDF庫將預先存在的 PDF 範本中的佔位符文字替換為每個學生的姓名,然後以學生的姓名作為檔案名稱儲存 PDF 的新副本。

程式碼的工作原理如下:

  1. 定義並初始化了studentNames數組,其中包含五個學生姓名。
  2. studentNames陣列中的每個名稱。
  3. PdfDocument.fromFile方法將名為"CERTIFICATE.pdf"的 PDF 範本檔案載入到PdfDocument物件中。
  4. 使用PdfDocument.replaceText方法將 PDF 範本中的文字"收件者姓名"替換為目前學生的姓名。
  5. PdfDocument.saveAs方法將修改後的 PDF 檔案以學生的姓名作為檔案名稱保存在"證書"目錄中。
  6. 循環持續進行,直到處理完所有學生姓名。

這樣,就可以基於同一個 PDF 範本產生多個證書,每個證書上都有一個唯一的學生姓名。 使用相同的方法可以產生帶有任何範本的 PDF 文件。

生成的PDF文件

如何在Java中從範本建立PDF,圖4:PDF輸出 PDF 輸出

證書輸出文件

以下是此演示程式產生的證書。

如何在Java中從範本建立PDF,圖5:憑證輸出 證書輸出

步驟 5:從 HTML 模板建立 PDF 模板

在這個例子中,HTML 檔案將用於建立 PDF 模板,然後使用該模板產生 PDF 文件。

這是範例中用於演示的 HTML 檔案。

如何在Java中從範本建立PDF,圖6:HTML輸出 HTML 輸出

請參考以下程式碼範例,根據給定的 HTML 格式建立新文件。

import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class HtmlToPdfExample {
    public static void main(String[] args) throws IOException {
        // Path to the HTML template
        Path fileName = Path.of("D:\\index.html");

        // Dynamic data to replace placeholders in the template
        String userName = "Mike";
        String title = "Sample PDF File";
        String body = "This is the body of our template PDF";

        // Read the HTML file content as a string
        String htmlStr = Files.readString(fileName);

        // Replace placeholders with actual data
        htmlStr = htmlStr.replace("{UserName}", userName);
        htmlStr = htmlStr.replace("{Title}", title);
        htmlStr = htmlStr.replace("{message}", body);

        // Render the HTML as a PDF document using IronPDF
        PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlStr);

        // Save the generated PDF document in the specified directory
        pdfDoc.saveAs(Paths.get("htmlTemplate/" + userName + ".pdf"));
    }
}
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class HtmlToPdfExample {
    public static void main(String[] args) throws IOException {
        // Path to the HTML template
        Path fileName = Path.of("D:\\index.html");

        // Dynamic data to replace placeholders in the template
        String userName = "Mike";
        String title = "Sample PDF File";
        String body = "This is the body of our template PDF";

        // Read the HTML file content as a string
        String htmlStr = Files.readString(fileName);

        // Replace placeholders with actual data
        htmlStr = htmlStr.replace("{UserName}", userName);
        htmlStr = htmlStr.replace("{Title}", title);
        htmlStr = htmlStr.replace("{message}", body);

        // Render the HTML as a PDF document using IronPDF
        PdfDocument pdfDoc = PdfDocument.renderHtmlAsPdf(htmlStr);

        // Save the generated PDF document in the specified directory
        pdfDoc.saveAs(Paths.get("htmlTemplate/" + userName + ".pdf"));
    }
}
JAVA

上述程式碼讀取 HTML 文件的內容,將 HTML 文件中的佔位符替換為動態數據,使用IronPDF庫將 HTML 渲染為 PDF 文檔,並將生成的 PDF 文件保存到指定目錄。

以下是這段程式碼功能的逐步解釋:

  1. 程式碼首先建立一個 Path 對象,該對象指向本機檔案系統上的一個 HTML 檔案。 在這種情況下,該檔案位於"D:\index.html"。
  2. 宣告並初始化了三個變量,並加入了一些範例資料:userName、title 和 body。
  3. 使用 Files.readString 方法將 HTML 檔案的內容讀入名為 htmlStr 的字串變數中。
  4. String.replace 方法用於將 HTML 檔案中的三個佔位符({Title}{message})替換為對應的動態資料。
  5. 呼叫PdfDocument.renderHtmlAsPdf 方法,並將修改後的 HTML 字串作為參數,以將 HTML 渲染為 PDF 文件。 產生的 PDF 文件儲存在名為 PdfDocument 的物件中。
  6. 呼叫 pdfDoc.saveAs 方法將產生的 PDF 文件儲存到本機檔案系統中名為"htmlTemplate"的目錄中,檔案名稱由 userName 變數建構。

如何在Java中從範本建立PDF,圖7:輸出 輸出

這樣一來,就可以輕鬆地透過程式設計方式從 HTML 範本建立 PDF 檔案

可以透過取得免費試用版或購買商業許可證來替換此浮水印。

結論

本文探討如何使用IronPDF 適用於 Java 產生 PDF 檔案。 IronPDF提供了一個簡單而強大的介面,讓您可以輕鬆建立和操作 PDF 文件。 使用IronPDF,您可以輕鬆建立外觀專業的 PDF 文檔,這些文檔可用於各種用途,例如產生報告、發票和其他類型的文檔。

IronPDF還具有高度可自訂性,提供控制 PDF 文件外觀和佈局的選項。 開發人員可以指定頁面邊距、字體大小、顏色和其他屬性,以建立符合其特定要求的 PDF 檔案。

總的來說, IronPDF是一個功能強大且靈活的 Java PDF 生成庫。 IronPDF擁有易於使用的介面和廣泛的功能,是任何需要產生 PDF 的應用程式的絕佳選擇。

下載IronPDF 適用於 Java軟體產品

常見問題解答

如何在Java中根據模板產生PDF?

若要使用IronPDF在 Java 中從模板產生 PDF,請使用PdfDocument.fromFile載入模板,使用PdfDoc.replaceText取代佔位符,並使用SaveAs方法儲存文件。

如何在 IntelliJ IDEA 中將 PDF 庫新增到 Java 專案中?

若要將IronPDF新增至 IntelliJ IDEA 中的 Java 專案中,請在pom.xml檔案中包含其 Maven 依賴項,並指定程式庫的 groupId、artifactId 和版本。

我可以使用HTML模板在Java中建立PDF嗎?

是的, IronPDF可讓您從 HTML 範本建立 PDF。您可以讀取 HTML 文件,將佔位符替換為動態數據,然後將其渲染為 PDF 文件。

如何使用IronPDF替換 PDF 範本中的佔位符?

使用PdfDocument.replaceText方法取代 PDF 範本中的佔位符。您需要指定要替換的文字以及 PDF 文件的新內容。

使用模板產生PDF有哪些常見用例?

使用範本產生 PDF 的常見用例包括產生憑證、建立發票和產生報告,這些使用案例都需要一致的格式和動態內容插入。

如何在 IntelliJ IDEA 中建立一個用於產生 PDF 任務的新 Java 專案?

在 IntelliJ IDEA 中,首先選擇“建立新專案”,然後選擇“Java”,設定 JDK 版本,並配置專案設定。之後,您可以將IronPDF新增到專案的依賴項中。

IronPDF為 Java 中的 PDF 建立提供了哪些優勢?

IronPDF透過提供直覺的介面、支援範本處理以及提供可填寫表單和數位簽章等功能,簡化了 Java 中的 PDF 建立。

是否可以自訂使用IronPDF產生的 PDF 檔案的佈局?

是的, IronPDF允許自訂 PDF 佈局,包括調整頁面邊距、字體大小、顏色和其他視覺元素,以滿足特定的設計要求。

IronPDF最適合用於哪些類型的項目?

需要產生專業 PDF 的項目,例如報告、發票和證書,都可以受益於 IronPDF 的靈活性和強大的功能。

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我