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

如何在 Java 中從模板創建 PDF

IronPDF for Java的一個卓越功能是它能夠處理PDF範本。 PDF範本是一個預先設計的PDF檔案,包含動態內容的佔位符。 使用IronPDF,您可以輕鬆地用實際數據替換這些佔位符,以生成自訂的PDF格式新文件。

IronPDF

IronPDF是一個由<Iron Software開發和維護的Java程式庫。 它提供了一個易於使用的介面,簡化了PDF生成的複雜性,讓開發人員專注於他們的PDF內容,而不是生成文件的細節。 IronPDF還提供了一系列功能,使得處理PDF範本、可填寫表單數位簽名變得輕鬆。

本教程將引導您完成使用IronPDF在Java中從範本創建PDF文件所需的步驟。

第一步是創建一個專案。

Step 1: 創建新Java專案

以下是在IntelliJ IDEA中創建新Java專案的步驟:

  1. 打開IntelliJ IDEA,從歡迎畫面或"File"菜單中選擇"Create New Project"。
  2. 從左側菜單中選擇"Java",並選擇要為專案使用的JDK版本。 點擊"Next"。
  3. 選擇專案名稱和位置,並選擇專案類型。 您可以從多個不同的專案類型中選擇,例如"Java Application"、"Java Library"或"JavaFX Application"。 點擊"Next"。
  4. 配置專案設置。 您可以指定專案SDK、專案語言級別和其他設定。 您還可以選擇創建模組或選擇現有模組。 點擊"Next"。
  5. 選擇專案範本。 您可以選擇創建空白專案、帶有範例程式碼的專案或導入現有專案。 點擊"Finish"。

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

Step 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

Step 3: 創建PDF範本

接下來,您需要創建一個PDF範本以用於生成您的PDF文件。您可以使用任何PDF編輯器創建您的PDF範本。 範本可以包含將在運行時替換為動態數據的佔位符。

假設有一個用例,為50名學生頒發若干證書。 現在,為每個用戶創建單獨的證書是一項非常繁瑣的任務。 因此,使用一個範本,只需像下面演示的那樣使用此演示程序更改名稱即可。

在Java中如何從範本創建PDF,圖2:證書範本圖像實例 證書範本圖像實例

Step 4: 從範本創建PDF文件

創建PDF範本證書後,第一步是將其加載到Java應用程式中。 使用IronPDF PdfDocument類將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對象中。
  4. 使用PdfDocument.replaceText方法將PDF範本中的"Recipient Name"文字替換為當前學生的姓名。
  5. [PdfDocument.saveAs](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.lang.String)方法以學生的姓名作為文件名,將修改後的PDF文件保存到"Certificate"目錄中。
  6. 循環繼續,直到所有學生姓名都被處理完成。

通過這種方式,根據一個PDF範本生成多個證書,每個證書都有唯一的學生姓名。 相同的方法也可以用於生成具有任何範本的PDF文件。

生成的PDF文件

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

證書輸出文件

以下是此演示程序生成的證書。

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

Step 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. 程式碼從本機檔案系統中創建一個指向HTML文件的Path對象。 在本例中,文件位於"D:\index.html"。
  2. 聲明三個變量並用一些範例數據進行初始化:userName、title和body。
  3. HTML文件的內容被讀入一個名為Files.readString方法。
  4. 使用{message})替換為相應的動態數據。
  5. 使用修正後的HTML字串作為參數調用[PdfDocument.renderHtmlAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)方法將HTML呈現為PDF文件。 生成的PDF文件存儲在一個名為PdfDocument對象中。
  6. 調用pdfDoc.saveAs方法,將生成的PDF文件保存到本機檔案系統中一個名為"htmlTemplate"的目錄中,文件名由userName變量構建。

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

通過這種方式,可以輕鬆地以程式方式從HTML範本生成PDF文件

可以通過獲得免費試用或購買商業授權來替換此水印。

結論

本文探討了如何使用IronPDF for Java來生成PDF文件。 IronPDF提供了一個簡單而強大的接口,讓您能夠輕鬆地創建和操作PDF文件。 使用IronPDF,您可以輕鬆創建外觀專業的PDF文件,可以用於各種用途,如生成報告、發票和其他類型的文件。

IronPDF也高度可定製,提供了控制PDF文件外觀和佈局的選項。 開發人員可以指定頁邊距、字體大小、顏色和其他屬性,以創建符合其具體需求的PDF文件。

總體來說,IronPDF是Java中生成PDF的強大且靈活的程式庫。 憑藉其易於使用的界面和廣泛的功能,IronPDF是一個對需要PDF生成的任何應用程式的絕佳選擇。

下載IronPDF for 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 來說,工作令人滿意因為它被重視且有實際影響。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me