如何在 Java 中從模板建立 PDF
IronPDF for Java 的一個偉大功能是其能夠與PDF模板一起工作。 PDF模板是一個預先設計好的PDF文件,包含了動態內容的占位符。 使用IronPDF,您可以輕鬆地將這些占位符替換為實際資料,以生成自定義的新PDF文件。
如何在Java中從模板建立PDF檔案
- 下載IronPDF for Java 用於從模板生成PDF
- 建立一個新的PDF模板或使用
PdfDocument.fromFile方法載入一個已有的模板。 - 編寫包含輸入模板的字串列表。
- 使用
PdfDoc.replaceText方法從模板中替換特定文字。 - 使用
SaveAs方法保存新建立的PDF文件。
IronPDF
IronPDF是由Iron Software開發和維護的一個Java程式庫。 它提供了一個易於使用的介面,抽象掉了PDF生成的許多複雜性,使開發人員能專注於PDF內容而不是文件生成的細節。 IronPDF還提供了一系列功能,使得與PDF模板、可填寫表單和數位簽名的工作變得簡單。
本教程將逐步介紹如何使用IronPDF在Java中從模板建立PDF文件。
第一步是建立一個專案。
步驟1:建立一個新的Java專案
以下是使用IntelliJ IDEA建立新Java專案的步驟:
- 打開IntelliJ IDEA,從歡迎畫面或"文件"選單中選擇"建立新專案"。
- 從左側選單中選擇"Java",然後選擇您希望使用的JDK版本。 點擊"下一步"。
- 選擇一個專案名稱和位置,並選擇專案型別。 您可以從多個不同專案型別中進行選擇,例如"Java Application"、"Java Library"或"JavaFX Application"。 點擊"下一步"。
- 配置專案設定。 您可以指定專案SDK、專案語言級別和其他設置。 您還可以選擇建立模組或選擇現有模組。 點擊"下一步"。
- 選擇專案範本。 您可以選擇建立一個空白專案、有範例程式碼的專案,或匯入現有專案。 點擊"完成"。
使用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>
步驟3:建立PDF模板
接下來,您需要建立一個PDF模板,用來生成您的PDF文件。您可以使用任何PDF編輯器建立您的PDF模板。 此模板可以包含占位符,這些占位符將在運行時被動態資料替換掉。
假設一個使用案例,其中向50名學生頒發證書。 現在,為每個使用者建立單獨的證書是一項非常繁忙的工作。 因此,使用一個模板,並使用下面演示的範例程式修改名稱。
證書模板圖片範例
步驟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"));
現在,讓我們撰寫一個範例程式碼,將建立基於給定模板的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"));
}
}
}
以下是輸出日誌:
輸出
上述程式碼建立了一個學生姓名陣列,然後使用IronPDF程式庫將預先存在的PDF模板中的占位符文字替換為每個學生的姓名,然後以學生姓名作為文件名保存PDF的新副本。
以下是程式碼如何工作的:
- 定義並初始化
studentNames陣列,裡面有五個學生的姓名。 studentNames陣列中的每個姓名。PdfDocument物件中。- 使用
PdfDocument.replaceText方法將PDF模板中的"Recipient Name"文字替換為當前學生的姓名。 - 使用[
PdfDocument.saveAs](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.lang.String)方法將修改後的PDF文件保存到"Certificate"目錄中,以學生的姓名作為文件名。 - 迴圈繼續直到所有學生姓名都被處理。
以此方式,基於單個PDF模板生成多個證書,每個證書都有獨特的學生姓名。 同樣的方法可以用來生成任何範本的PDF文件。
生成的PDF文件
PDF輸出
證書輸出文件
以下是此演示程式生成的證書。
證書輸出
步驟5:從HTML範本建立PDF範本
在此範例中,HTML文件將用於建立PDF範本,然後使用該範本生成PDF文件。
這是範例中展示的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"));
}
}
上述程式碼讀取HTML文件的內容,用動態資料替換HTML文件中的占位符,使用IronPDF程式庫將HTML呈現為PDF文件,並將生成的PDF文件保存到特定目錄中。
以下是程式碼的逐步說明:
- 程式碼開始時建立一個
Path物件,指向本地文件系統上的HTML文件。 此文件位於"D:\index.html"。 - 宣告並初始化三個變數,包含一些範例資料:userName、title和body。
- 使用
htmlStr的字串變數中。 - 使用
{UserName},{Title}, 和{message})替換為相應的動態資料。 - 使用[
PdfDocument.renderHtmlAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)方法將修改後的HTML字串作為參數,以將HTML呈現為PDF文件。 生成的PDF文件儲存在名為PdfDocument物件中。 - 使用
pdfDoc.saveAs方法將生成的PDF文件保存到本地文件系統名為"htmlTemplate"的目錄中,文件名由userName變數構成。
輸出
以此方式,可以編程化地從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 的靈活性和強大功能。





