如何從 Java 應用程式動態生成 PDF 文件
本教程將說明如何在Java應用程式中動態建立PDF文件,並探索從文字、URL和HTML頁面建立PDF頁面的程式碼範例。 之後,將介紹如何從新的文件實例建立帶密碼保護的PDF文件。
IronPDF Java Library 是進行此操作的理想選擇,因為它對開發免費、更安全,並在單個程式庫中提供所有功能,且精確度達到100%,性能極其優越。
在繼續之前,我們簡單介紹一下IronPDF。
如何從Java應用程式動態生成PDF文件
- 安裝Java程式庫以動態生成PDF
- 從自定義HTML字串建立PDF
- 從具有複雜CSS樣式的HTML文件生成PDF
- 使用URL連結生成PDF並新增頁首和頁尾選項於Java中
- 為動態生成的PDF文件設置密碼
IronPDF
IronPDF Java Library 是由Iron Software開發的最受歡迎的Java PDF程式庫,用於建立PDF、編輯新文件以及操作現有PDF。 它旨在與廣泛的JVM語言相容,包括Java、Scala和Kotlin,並可在多種平台上運行,包括Windows、Linux、Docker、Azure和AWS。 IronPDF可與流行的IDE如IntelliJ IDEA和Eclipse配合使用。
主要功能包括從HTML建立PDF文件、HTTP、JavaScript、CSS、XML文件和各種圖像格式。 此外,IronPDF還提供新增頁首和頁尾、在PDF中建立表格、新增電子簽名、附件、實施密碼和安全功能等功能。 它支持完整的多執行緒和更多功能!
現在,我們開始探索如何建立動態文件的程式碼範例。
首先,建立一個新的Maven儲存庫專案。
建立新的Java專案
出於演示目的,本教程將使用IntelliJ IDE。您也可以使用自己選擇的IDE。新建Java專案的步驟可能因IDE而異。按照以下步驟操作:
- 啟動IntelliJ IDE。
- 選擇文件 > 新建 > 專案。
- 輸入專案名稱。
- 選擇位置、語言、構建系統和JDK。
- 點擊建立按鈕。
建立專案
命名您的專案,選擇位置、語言、構建系統和JDK,然後選擇建立按鈕選項。 將建立一個新的專案。
現在,在這個演示Java應用程式中安裝IronPDF。
安裝IronPDF Java Library
下一步是在pom.xml文件中新增依賴以安裝IronPDF。 如下面所示,在pom.xml文件中新增以下XML源程式碼。
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
將INSERT_LATEST_VERSION_HERE替換為從Maven儲存庫獲取的IronPDF的最新版本。
新增依賴後,構建項目。 應用將自動從Maven儲存庫中安裝該程式庫。
讓我們從一個簡單的範例開始,將HTML字串轉換為PDF文件。
建立PDF文件
請考慮以下範例:
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class HtmlToPdfExample {
public static void main(String[] args) {
// Define HTML content
String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";
// Convert HTML content to PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class HtmlToPdfExample {
public static void main(String[] args) {
// Define HTML content
String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";
// Convert HTML content to PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上述函式中,HTML內容被分配給字串變數。 renderHtmlAsPdf方法接受一個字串作為參數,並將HTML內容轉換為PDF文件實例。 saveAs方法接受位置路徑作為輸入,並將PDF文件實例保存在選定的目錄中。
由上述程式碼生成的PDF顯示如下。
輸出
從HTML文件生成PDF文件
IronPDF同樣提供了從HTML文件生成PDF文件的驚人功能。
將在範例中使用的HTML文件樣例如下所示。
已渲染的HTML與新段落
以下是生成PDF的程式碼片段範例:
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class HtmlFileToPdfExample {
public static void main(String[] args) {
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class HtmlFileToPdfExample {
public static void main(String[] args) {
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
該程式生成的PDF格式文件顯示如下。
PDF輸出
下一步是使用包含JavaScript和CSS的大型HTML文件,並在將HTML轉換為PDF的過程中檢查設計的準確性和一致性。
從HTML文件生成PDF文件
將使用以下HTML頁面樣例,其中包含圖片、動畫、樣式、jQuery和Bootstrap。
HTML頁面樣例
HTML樣例
HTML文件樣例顯示其具有豐富的樣式並包括圖形。 這個HTML文件將被轉換為PDF文件,並評估內容和樣式的準確性。
將使用以上範例相同的程式碼行。
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class StyledHtmlToPdfExample {
public static void main(String[] args) {
// Convert HTML file with styling to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("styledPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class StyledHtmlToPdfExample {
public static void main(String[] args) {
// Convert HTML file with styling to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("styledPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
上一個範例已經包括了程式碼解釋。 其餘的保持不變;
這是輸出的PDF文件:
HTML轉PDF
使用IronPDF建立PDF文件非常簡單。 原文件的格式和內容均保持一致。
也可以通過URL建立PDF文件。
將URL轉換為PDF文件
以下程式碼樣例將從URL生成PDF文件。
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class UrlToPdfExample {
public static void main(String[] args) {
// Convert URL to PDF
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("urlPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class UrlToPdfExample {
public static void main(String[] args) {
// Convert URL to PDF
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("urlPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
renderUrlAsPdf函式接受URL作為參數並將其轉換為PDF文件。 此PDF文件稍後將使用saveAs函式保存到本地磁碟。
以下是輸出的PDF:
輸出PDF
也可以新增水印、頁首、頁尾、電子簽名、轉換XML文件/JSP頁面等更多功能。
下一步是生成帶密碼保護的PDF文件。
生成帶密碼保護的PDF文件
以下程式碼樣例展示了對生成的PDF文件新增安全性的範例。
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class SecurePdfExample {
public static void main(String[] args) {
// Load an existing PDF document
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));
// Configure security options
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456"); // Set owner password
securityOptions.setUserPassword("123412"); // Set user password
// Apply security options to the PDF document
myPdf.applySecurity(securityOptions);
// Save the secured PdfDocument to a file
try {
myPdf.saveAs(Paths.get("securedPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class SecurePdfExample {
public static void main(String[] args) {
// Load an existing PDF document
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));
// Configure security options
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456"); // Set owner password
securityOptions.setUserPassword("123412"); // Set user password
// Apply security options to the PDF document
myPdf.applySecurity(securityOptions);
// Save the secured PdfDocument to a file
try {
myPdf.saveAs(Paths.get("securedPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述程式碼中的PDF文件設為只讀,不能進行編輯或段落對齊。 文件也被禁止列印,以確保無法被列印。 還設置了密碼。 該文件現在非常安全。 通過這種方式,可以定義不同的文件權限,並使用IronPDF生成動態輸出。
摘要
本教程演示了如何生成PDF文件。 PDF文件已由HTML字串、HTML文件和URL生成,範例從簡單到複雜。 還有許多更有用的功能可用,如新增水印、頁尾、頁首、前景色、合併和拆分頁面等。這裡無法全部涵蓋; 存取IronPDF官方文件以進一步探索。
由IronPDF實現的HTML到PDF轉換變得輕而易舉。 僅用一行程式碼就將HTML轉換為PDF。 也對PDF文件增加了一些安全措施。速度更快、更準確、更安全。 每個生成的PDF都包含IronPDF水印。 這是因為正在使用具有有限權限的免費開發版本,而不是商業授權。 可以通過購買免費試用版本或按需購買完整授權來去除它。
常見問題
如何在Java中從HTML生成PDF文件?
您可以使用IronPDF的renderHtmlAsPdf方法來轉換HTML字串,並使用renderHtmlFileAsPdf方法來處理HTML文件,以在Java中從HTML生成PDF文件。
我應使用什麼方法將URL轉換為Java中的PDF?
要將URL轉換為Java中的PDF,請使用IronPDF的renderUrlAsPdf方法,它允許您輕鬆從網頁建立PDF。
如何在Java中使用密碼保護PDF?
在Java中,您可以通過使用IronPDF設置SecurityOptions來保護PDF,其中包括新增密碼和管理PDF文件的權限。
IronPDF在將HTML轉換為PDF時能處理複雜的CSS嗎?
是的,IronPDF可以在將HTML轉換為PDF時處理複雜的CSS,確保在生成的PDF文件中準確反映樣式。
IronPDF免費開發版本的限制是什麼?
IronPDF免費開發版本在每個生成的PDF上包含水印。購買商業授權可移除此限制。
IronPDF為PDF提供了哪些其他功能?
IronPDF提供了其他功能,例如新增水印、頁首、頁腳以及合併PDF中的頁面。
在新Java專案中如何設置IronPDF?
要在新Java專案中設置IronPDF,請通過Maven安裝程式庫,然後將必要的類導入到您的專案中以開始生成PDF。
我可以限制由IronPDF生成的PDF的編輯和列印嗎?
是的,IronPDF允許您通過對PDF文件應用特定的安全設置來限制編輯、註釋、列印和表單資料輸入。
IronPDF for Java支持哪些平台?
IronPDF for Java支持多種平台,包括Windows、Linux、Docker、Azure和AWS。
我可以在哪裡找到使用IronPDF in Java的詳細文件?
在IronPDF官方網站上可以找到使用IronPDF in Java的詳細文件和範例,該網站提供了全面的資源和指南。





