跳過到頁腳內容
使用 IRONPDF FOR JAVA

如何從 Java 應用程式動態產生 PDF 檔案

本教學將說明如何在 Java 應用程式中動態建立 PDF 文件,並探討從文字、URL 和 HTML 頁面建立 PDF 頁面的程式碼範例。 接下來,它將介紹如何從新的文件實例建立受密碼保護的 PDF 文件。

IronPDF Java 庫非常適合此用途,因為它開發免費,更安全,在一個庫中提供所有功能,準確率達 100%,並且性能非常出色。

在繼續之前,讓我們先簡單介紹一下 IronPDF。

IronPDF。

IronPDF Java 庫是由 Iron Software 開發的最受歡迎的 Java PDF 庫,用於建立 PDF、編輯新文件和操作現有 PDF。 它旨在與包括 Java、Scala 和 Kotlin 在內的多種 JVM 語言相容,並且可以在包括 Windows、Linux、Docker、Azure 和 AWS 在內的多種平台上運行。 IronPDF 可與 IntelliJ IDEA 和 Eclipse 等流行的 IDE 搭配使用。

主要功能包括能夠從 HTML、HTTP、JavaScript、CSS、XML 文件和各種圖像格式建立 PDF 文件。 此外,IronPDF 還提供新增頁首和頁尾在 PDF 中建立表格新增數位簽章、附件、實作密碼和安全功能等功能。 它支援完整的多線程,以及更多功能

現在,讓我們從建立動態文檔的程式碼範例開始。

首先,建立一個新的 Maven 倉庫專案。

建立一個新的 Java 項目

為了演示,本教學將使用 IntelliJ IDE。您可以使用任何您喜歡的 IDE。建立新 Java 專案的步驟可能會因 IDE 而異。請依照以下步驟操作:

  1. 啟動 IntelliJ IDE。
  2. 選擇檔案>新建>項目
  3. 輸入項目名稱。
  4. 選擇位置、語言、建置系統和 JDK。
  5. 點選"創建"按鈕。

如何從 Java 應用程式動態產生 PDF 文件,圖 1:建立項目 創建專案

為您的專案命名,選擇位置、語言、建置系統和 JDK,然後選擇"建立"按鈕選項。 我們將建立一個新專案。

現在,在這個示範 Java 應用程式中安裝 IronPDF。

安裝 IronPDF Java 庫

下一步是在pom.xml檔案中新增安裝 IronPDF 的依賴項。 請在pom.xml檔中加入如下所示的 XML 原始碼。

<!-- Add IronPDF to your Maven Project -->
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
<!-- Add IronPDF to your Maven Project -->
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
XML

請將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();
        }
    }
}
JAVA

在上述函數中,HTML 內容被賦值給一個字串變數。 [renderHtmlAsPdf方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)接受一個字串作為參數,並將 HTML 內容轉換為 PDF 文件實例。 [saveAs方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.nio.file.Path)接受位置路徑作為輸入,並將 PDF 檔案實例儲存到選定的目錄中。

下面顯示的是上述程式碼產生的 PDF 檔案。

如何從 Java 應用程式動態產生 PDF 文件,圖 2:輸出 Output

從 HTML 文件產生 PDF 文件

IronPDF 也提供了從 HTML 檔案產生 PDF 檔案的強大功能。

下面顯示的是範例中將使用的範例 HTML 檔案。

如何從 Java 應用程式動態產生 PDF 文件,圖 3:帶有新段落的渲染 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();
        }
    }
}
JAVA

[renderHtmlFileAsPdf方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlFileAsPdf(java.lang.String)接受 HTML 檔案的路徑作為參數,並根據該 HTML 檔案產生 PDF 文件。之後,使用saveAs方法將此 PDF 檔案儲存到本機磁碟機。

下面顯示的是該程式產生的PDF格式文件。

如何從 Java 應用程式動態產生 PDF 文件,圖 4:PDF 輸出 PDF輸出

下一步是使用包含 JavaScript 和 CSS 的較大 HTML 文檔,並在將 HTML 轉換為 PDF 時檢查設計的準確性和一致性。

從 HTML 文件產生 PDF 文件

我們將使用以下範例 HTML 頁面,其中包含圖像、動畫、樣式、jQuery 和 Bootstrap。

如何從 Java 應用程式動態產生 PDF 文件,圖 5:範例 HTML 頁面 範例 HTML 頁面

如何從 Java 應用程式動態產生 PDF 文件,圖 6:範例 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();
        }
    }
}
JAVA

前面的例子已經包含了程式碼解釋。 其餘部分不變;

這是輸出的PDF檔案:

如何從 Java 應用程式動態產生 PDF 文件,圖 7:HTML 轉 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();
        }
    }
}
JAVA

[renderUrlAsPdf函數](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderUrlAsPdf(java.lang.String)接受一個 URL 作為參數,並將其轉換為 PDF 文件。 稍後使用saveAs功能將此 PDF 文件儲存到本機磁碟機。

以下是輸出的PDF檔案:

如何從 Java 應用程式動態產生 PDF 文件,圖 8:輸出 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();
        }
    }
}
JAVA

透過上述程式碼,PDF 檔案變成唯讀,不允許進行編輯或段落對齊。 該文件也被限制列印,以確保無法列印。 已設定密碼。 文件現在非常安全。 這樣一來,就可以定義不同的檔案權限,並使用 IronPDF 產生動態輸出。

摘要

本教學示範如何產生PDF文件。 透過 HTML 字串、HTML 文件和 URL 建立 PDF 文件,範例涵蓋從簡單到複雜的各種情況。 還有許多其他實用功能,例如添加浮水印、頁腳、頁首、前景色、合併和拆分頁面等等。這裡無法一一介紹; 請造訪IronPDF 官方文件以了解更多資訊。

IronPDF 讓 HTML 轉 PDF 變得輕而易舉。 只需一行程式碼即可將 HTML 轉換為 PDF。 PDF文件中也加入了一些安全措施。它速度更快、更準確、更安全。 每個產生的PDF檔案都包含IronPDF浮水印。 這是因為使用的是權限有限的免費開發版本,而不是商業授權。 可以透過購買免費試用版根據需要購買完整許可證來擺脫它。

常見問題解答

如何在 Java 中從 HTML 生成 PDF 檔案?

您可以在 Java 中使用 IronPDF 的 renderHtmlAsPdf 方法來轉換 HTML 字串,並使用 renderHtmlFileAsPdf 方法來轉換 HTML 檔案,從 HTML 產生 PDF 檔案。

我應該使用何種方法在 Java 中將 URL 轉換成 PDF?

若要在 Java 中將 URL 轉換為 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。

在哪裡可以找到在 Java 中使用 IronPDF 的詳細說明文件?

在 Java 中使用 IronPDF 的詳細說明文件和範例可在 IronPDF 官方網站找到,該網站提供了全面的資源和指南。

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

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

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

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