跳至頁尾內容
使用 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 在 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 的靈活性和強大的功能。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。