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

如何從 Java 應用程序動態生成 PDF 文件

本教程將解釋如何在Java應用程式中動態創建PDF文件,並探索從文本、URL和HTML頁面創建PDF頁面的代碼示例。 之後,它將涵蓋從新文件實例創建受密碼保護的PDF文件。

IronPDF Java Library非常適合此目的,因為它免費供開發使用,更安全,提供單一程式庫中的所有功能,並擁有100%的準確性,性能卓越。

在前進之前,讓我們簡要介紹IronPDF。

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而有所不同。請參考以下步驟:

  1. 啟動IntelliJ IDE。
  2. 選擇文件 > 新建 > 專案
  3. 輸入專案標題。
  4. 選擇一個位置、一種語言、一個構建系統和一個JDK。
  5. 點擊創建按鈕。

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

為您的專案命名,選擇一個位置、一種語言、一個構建系統和一個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>
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方法接受一個字符串作為參數,然後將HTML內容轉換為PDF文件實例。 saveAs方法接受位置路徑作為輸入,並將PDF文件實例保存到所選目錄中。

上述代碼生成的PDF如下所示。

如何從Java應用程式動態創建PDF文件,圖2:輸出 輸出

從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

saveAs方法保存到本地硬碟。

該程序以PDF格式生成的文檔如下所示。

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

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

從HTML文件生成PDF文件

將使用包含圖片、動畫、樣式、jQuery和Bootstrap的樣本HTML頁面。

如何從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函数接受一個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 的詳細文件和範例,該網站提供了全面的資源和指南。

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

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

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

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me