如何在Java中創建PDF文件

查克尼思·賓
查克尼思·賓
2018年8月28日
已更新 2024年10月20日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

使用Java程式化地創建PDF文件,允許開發者將PDF文檔的創建自動化為其應用程序的一部分。 這在各種情境中都可能非常有用,例如按需生成發票、報告或其他類型的新PDF文件。

本操作指南涵蓋了 IronPDF 在 Java 應用程序中以程式方式創建 PDF 檔案的使用。

IronPDF Java PDF 函式庫

IronPDF是一個用於從HTML創建PDF文件的Java庫。 它設計得易於使用。 它提供了創建和自定義PDF的功能,包括:

  1. 能夠新增文字、圖片和其他類型的內容

  2. 能夠選擇字體和顏色,並控制文檔的佈局和格式。

    IronPDF 基於 .NET Framework 架構之上,可在 .NET 和 Java 應用程序中使用。 這使其成為在各種情境下創建PDF的多功能工具。

    除了其核心的PDF生成功能外,IronPDF還支持其他PDF相關任務。 這些功能包括其他文件格式之間的轉換、從PDF提取文字和數據以及使用密碼加密保護PDF文件。

在 Java 應用程式中創建 PDF 文件的步驟

先決條件

要在 Maven 項目中使用 IronPDF 創建 PDF 文件,請確保計算機已安裝以下必要軟件:

  1. Java Development Kit (JDK): JDK 是編譯和運行 Java 應用程式所必需的。 請從[Oracle 網站](https://www.oracle.com/java/technologies/javase-downloads.html" target="_blank" rel="nofollow noopener noreferrer)下載 JDK。

  2. Maven:Maven 是從中央倉庫下載專案庫所需的工具。 從Apache Maven網站下載Maven。

  3. IronPDF 函式庫:IronPDF 函式庫可以作為依賴項添加到 Maven 專案中。 將其 Maven 依賴項 artifact(以及可選的 slf4j 依賴項)包括在 Maven 項目的 pom.xml 文件中,如下所示:
<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2025.3.6</version>
</dependency>

在撰寫程式碼之前的重要步驟

首先,在將要編寫代碼的Java源文件的頂部添加以下語句,以導入項目範圍內所需的IronPDF庫類。

import com.ironsoftware.ironpdf.*;
JAVA

接下來,在main方法中調用setLicenseKey方法(在任何其他程式碼行之前),以有效的授權密鑰配置IronPDF。

License.setLicenseKey("Your license key");
JAVA

注意:*需要許可證密鑰才能創建無浮水印的 PDF。 購買許可證密鑰獲取免費試用許可證密鑰。 否則,繼續下一步(不需要添加上述行)以免費生成帶有水印的新PDF文檔。

從Java中的HTML字符串創建PDF文件

使用renderHtmlAsPdf() 方法將 HTML 字串轉換為新的 PDF 文件。

renderHtmlAsPdf方法的參數中,傳遞一個HTML標記的字串。IronPDF將把HTML內容轉換為新的PdfDocument實例。

String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);
JAVA

隨後,使用 saveAs 方法將 PDF 儲存到本地系統的路徑中:

pdf.saveAs(Paths.get("html.pdf"));
JAVA

上面的代碼行會創建一個名為 "html.pdf" 的文件,其中包含 HTML 字串的內容。

在 Java 中從 HTML 頁面創建 PDF 檔案

請使用以下示例在Java中從本地存儲的HTML文件創建PDF文件:

PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("html_file_saved.pdf"));
JAVA

如上所示,renderHtmlFileAsPdf 方法從 HTML 文件生成 PDF 文件。 該方法接受一個包含文件系統中HTML文件路徑的字串(或路徑)。

IronPDF 會像網頁瀏覽器一樣渲染 HTML 文件中的 HTML 元素,以及任何影響它們的 CSS 和 JavaScript 內容。

接下來,調用saveAs方法,指定目標文件路徑,以將 PDF 文件保存到特定位置,就像在前面的示例中一樣。

從 URL 在 Java 中建立 PDF 檔案

renderUrlAsPdf 方法根據 URL 引用的網頁生成 PDF 文件。 將網頁的 URL 作為參數傳遞給方法,如下所示:

PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Save the PdfDocument to a file
urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));
JAVA

更多關於將網頁轉換為 PDF 的信息請參閱URL 轉 PDF 範例代碼頁面。

格式化 PDF 檔案

使用ChromePdfRenderOptions類別指定新PDF文件的所需格式。 可配置的設置包括頁面方向、頁面大小和邊距大小等等。 將ChromePdfRenderOptions類別的實例作為第二個參數傳入renderUrlAsPdf方法,以使用所需的設定生成PDF文件。 參考此PDF 生成設定程式碼範例,以獲取有關如何使用ChromePdfRenderOptions類的更多資訊。

對PDF檔案進行密碼保護

IronPDF 使用 SecurityOptions 類別生成受密碼保護的 PDF 文件。 首先,創建一個SecurityOptions實例,然後使用setUserPassword方法設置密碼。

SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setUserPassword("shareable");
JAVA

透過SecurityManager將安全設定應用於PDF。 下面的代碼片段將這些設置應用於我們在 URL 到 PDF 範例中創建的 PDF 文檔:

SecurityManager securityManager =  urlToPdf.getSecurity();
securityManager.setSecurityOptions(securityOptions);
urlToPdf.saveAs("protected.pdf");
JAVA

PDF 文件現在已被設置密碼保護。 開啟 PDF 檔案將會出現一個密碼彈出視窗:

Java 建立 PDF - 圖 1

在輸入正確的密碼後,PDF 檔案將會如預期般開啟。

Java 創建 PDF - 圖 2

安全性和元資料範例頁面上閱讀有關其他安全性和元資料設定的更多資訊。

完整的源代码

此教程的完整源文件如下所示:

//Import statement for IronPDF Java  
import com.ironsoftware.ironpdf.*;
import java.io.IOException;  
import java.nio.file.Paths; 

public class App 
{
    public static void main( String [] args ) throws IOException, PrinterException
    {
     // Apply your license key
        License.setLicenseKey("Your License Key");     
        String htmlString = "<h1>Hello World!</h1><p>This is an example HTML string.</p>";
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlString);
        pdf.saveAs(Paths.get("html.pdf"));
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.pdf");
        myPdf.saveAs(Paths.get("html_file_saved.pdf"));
        PdfDocument urlToPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
        // Save the PdfDocument to a file
        urlToPdf.saveAs(Paths.get("urlToPdf.pdf"));

        // Password-protect the URLToPdf File.
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setUserPassword("shareable");
        SecurityManager securityManager =  urlToPdf.getSecurity();
        securityManager.setSecurityOptions(securityOptions);       
        urlToPdf.saveAs(Paths.get("protected.pdf"));
    }
}
JAVA

IronPDF 渲染所有圖像和文本而不會失去任何格式。 按鈕是可點擊的,而文本框在PDF文件中是可編輯的。

摘要

在這份操作指南中,我們探討了如何使用IronPDF在Java中創建PDF文件。 IronPDF是一個功能強大的庫,允許開發人員在Java中輕鬆生成和操作PDF文件。

它還提供了一個簡單直觀的 API,使從 HTML 文件、XML 文件或其他來源創建 PDF 變得容易。 无论您需要生成报告、发票还是任何其他类型的文件,IronPDF 都能帮助您快速轻松地完成工作。

IronPDF 不是開源的 Java 庫。 它有一個商業授權,價格從$749起。 您可以獲得免費試用,以便在生產環境中進行測試。

下載 IronPDF Java 庫

查克尼思·賓
軟體工程師
Chaknith 致力於 IronXL 和 IronBarcode。他在 C# 和 .NET 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。