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

如何在 Java 中從模板創建 PDF

IronPDF for Java的一個很棒的特點是它能夠處理PDF模板。 PDF模板是一個預設設計的PDF文件,包含用於動態內容的佔位符。 使用IronPDF,您可以輕鬆地替換這些佔位符,用實際數據生成自訂的新PDF格式文檔。

class="hsg-featured-snippet">

如何在Java中從模板創建PDF文檔

  1. 下載IronPDF for Java以從模板生成PDF
  2. 創建一個新的PDF模板或使用PdfDocument.fromFile方法加載現有模板。
  3. 寫出包含模板輸入的字符串列表。
  4. 使用PdfDoc.replaceText方法替換模板中的特定文本。
  5. 使用SaveAs方法保存新創建的PDF文件。

IronPDF

IronPDF is a Java library that is developed and maintained by Iron Software 開發和維護的Java庫。 它提供了一個易於使用的界面,抽象掉許多PDF生成的複雜性,使開發人員專注於PDF的內容,而不是文件生成的細節。 IronPDF also provides a range of features that make it easy to work with PDF templates, fillable forms, and digital signatures.

這個教程將引導您完成使用IronPDF在Java中從模板創建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文件中來完成這一步:

步驟3:創建PDF模板

<!-- Add this dependency to use IronPDF in your Java project -->
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>VERSION_NUMBER</version> <!-- Specify the version number -->
</dependency>
<!-- Add this dependency to use IronPDF in your Java project -->
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>VERSION_NUMBER</version> <!-- Specify the version number -->
</dependency>
XML

接下來,您需要創建一個PDF模板,將用於生成您的PDF文件。您可以使用任何PDF編輯器創建PDF模板。

該模板可以包括在運行時將被替換為動態數據的佔位符。 假設一個使用場景是向50名學生頒發證書。

現在,為每個用戶單獨創建證書是一項非常繁瑣的任務。 因此,使用一個模板並使用此演示程序來改變名稱,如下示例。 如何在Java中從模板創建PDF, 圖2:證書模板圖像實例

證書模板圖像實例

步驟4:從模板創建PDF文檔

在創建PDF模板證書後,第一步是將其加載到Java應用程序中。

使用IronPDF的PdfDocument類來將PDF模板加載到內存中。 以下是演示如何使用IronPDF加載PDF模板的代碼片段示例: 現在讓我們寫一個代碼示例,將根據給定模板創建5個證書。

// 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

以下是輸出日志:

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. for循環遍歷studentNames陣列中的每個姓名。
  3. [PdfDocument.fromFile](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#fromFile(java.nio.file.Path)方法將名為"CERTIFICATE.pdf"的PDF模板文件加載到一個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格式創建新文檔。

上述代碼讀取HTML文件的內容,將佔位符替換為動態數據,使用IronPDF庫將HTML渲染為PDF文檔,並將生成的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"));
    }
}
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

以下是代碼的逐步解釋:

  1. 代碼開始時創建一個指向本地文件系統上HTML文件的Path對象。

在此例中,文件位於"D:\index.html"。 2. 宣告並初始化了三個變量,它們保存了一些樣本數據:userName、title和body。

  1. 使用Files.readString方法將HTML文件的內容讀入名為htmlStr的字符串變量中。
  2. 使用String.replace方法將HTML文件中的三個佔位符({UserName}{Title}{message})替換為相應的動態數據。
  3. 調用PdfDocument.renderHtmlAsPdf方法,將修改過的HTML字符串作為參數以將HTML渲染為PDF文檔。 結果PDF文檔被存儲在名為pdfDocPdfDocument對象中。 6. 調用pdfDoc.saveAs方法將生成的PDF文件保存到本地文件系統的"htmlTemplate"目錄中,文件名由userName變量構成。 如何在Java中從模板創建PDF, 圖7:輸出

通過這種方式,使用HTML模板以編程方式創建PDF文件變得非常簡單。 輸出

可以通過獲取商業許可證來替換這個水印。

It is possible to replace this watermark by getting a free trial or purchasing a commercial license.

結論

IronPDF提供了一個簡單而強大的接口,讓您可以輕鬆地創建和操作PDF文件。 使用IronPDF,您可以輕鬆創建可用於多種用途的專業外觀PDF文檔,例如生成報告、發票和其他類型的文檔。 IronPDF還具有高度的自定義功能,可以控制PDF文件的外觀和佈局。

開發人員可以指定頁邊距、字體大小、顏色和其他屬性,以創建符合特定需求的PDF文件。 總的來說,IronPDF是Java中用於PDF生成的強大而靈活的庫。

憑藉其易於使用的接口和廣泛的功能,IronPDF是任何需要PDF生成的應用程序的最佳選擇。 下載IronPDF for Java,這款軟件產品

Download IronPDF for Java, the software product.

常見問題解答

如何在 Java 中從範本生成 PDF?

要使用 IronPDF 在 Java 中從範本生成 PDF,請使用 PdfDocument.fromFile 加載範本,使用 PdfDoc.replaceText 替換佔位符,然後使用 SaveAs 方法保存文檔。

在 IntelliJ IDEA 中將 PDF 庫添加到 Java 項目的步驟是什麼?

要在 IntelliJ IDEA 中將 IronPDF 添加到 Java 項目,請在 pom.xml 文件中包括它的 Maven 依賴項,指定庫的 groupId、artifactId 和版本。

我可以使用 HTML 範本在 Java 中創建 PDF 嗎?

可以,IronPDF 允許您從 HTML 範本創建 PDF。您可以讀取 HTML 文件,用動態數據替換佔位符,並將其呈現為 PDF 文檔。

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

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