跳至頁尾內容
使用 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檔案?

您可以使用 IronPDF 的renderHtmlAsPdf方法將 HTML 字串轉換為 PDF 文件,並使用renderHtmlFileAsPdf方法將 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的詳細文件?

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

柯蒂斯·週
技術撰稿人

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

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