跳至頁尾內容
USING 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文件。

第一步是建立一個專案。

步驟1:建立一個新的Java專案

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

  1. 打開IntelliJ IDEA,從歡迎畫面或"文件"選單中選擇"建立新專案"。
  2. 從左側選單中選擇"Java",然後選擇您希望使用的JDK版本。 點擊"下一步"。
  3. 選擇一個專案名稱和位置,並選擇專案型別。 您可以從多個不同專案型別中進行選擇,例如"Java Application"、"Java Library"或"JavaFX Application"。 點擊"下一步"。
  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 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:證書輸出 證書輸出

步驟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. 使用htmlStr的字串變數中。
  4. 使用{UserName}, {Title}, 和 {message})替換為相應的動態資料。
  5. 使用[PdfDocument.renderHtmlAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)方法將修改後的HTML字串作為參數,以將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 範本中的佔位符?

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

使用範本生成 PDF 的常見應用案例有哪些?

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

如何在 IntelliJ IDEA 中建立一個新的 Java 專案以處理 PDF 生成任務?

在 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 支援團隊

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