跳過到頁腳內容
使用 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檔案來實現:

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

步驟 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:輸出 Output

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

程式碼的工作原理如下:

  1. 定義studentNames數組,並以五個學生姓名進行初始化。
  2. for迴圈遍歷studentNames陣列中的每個名字。
  3. PdfDocument.fromFile方法將名為"CERTIFICATE.pdf"的 PDF 範本檔案載入到PdfDocument物件中。
  4. PdfDocument.replaceText方法用於將 PDF 範本中的文字"收件人姓名"替換為目前學生的姓名。
  5. PdfDocument.saveAs方法將修改後的 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. 使用Files.readString方法將 HTML 檔案的內容讀取到名為htmlStr的字串變數中。
  4. 使用String.replace方法將 HTML 檔案中的三個佔位符( {UserName}{Title}{message} )替換為對應的動態資料。
  5. 呼叫PdfDocument.renderHtmlAsPdf 方法,並將修改後的 HTML 字串作為參數,將 HTML 渲染為 PDF 文件。 產生的 PDF 文件儲存在名為pdfDocPdfDocument物件中。
  6. 呼叫pdfDoc.saveAs方法將產生的 PDF 文件儲存到本機檔案系統中名為"htmlTemplate"的目錄中,檔案名稱由 userName 變數構成。

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

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

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

結論

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

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

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

下載 IronPDF for Java軟體產品

常見問題解答

如何從 Java 模版產生 PDF?

要使用 IronPDF for Java 從模板生成 PDF,請使用 PdfDocument.fromFile 載入模板,使用 PdfDoc.replaceText 替換占位符,並使用 SaveAs 方法儲存文件。

在 IntelliJ IDEA 中為 Java 專案新增 PDF 函式庫的步驟為何?

要在 IntelliJ IDEA 的 Java 專案中加入 IronPDF,請在 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 for Java 提供直觀的介面、支援範本處理,並提供可填寫表單和數位簽章等功能,簡化了在 Java 中建立 PDF 的過程。

是否可以自訂 IronPDF 所產生 PDF 的排版?

是的,IronPDF 允許自訂 PDF 排版,包括調整頁邊空白、字型大小、顏色和其他視覺元素,以符合特定的設計需求。

哪些類型的專案適合使用 IronPDF?

需要生成專業 PDF 的專案,例如報告、發票和證書,都能從 IronPDF 的彈性和強大功能中獲益。

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

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

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

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