跳至頁尾內容
USING 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文件保存到本地磁碟。

該程式生成的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函式接受URL作為參數並將其轉換為PDF文件。 此PDF文件稍後將使用saveAs函式保存到本地磁碟。

以下是輸出的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文件。 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的詳細文件和範例,該網站提供了全面的資源和指南。

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant擁有邁阿密大學的電腦科學學士學位,並在Iron Software擔任全端WebOps行銷工程師。從小就對程式設計有興趣,他認為計算既神秘又易於理解,成為創意和問題解決的完美媒介。

在Iron Software,Darrius喜歡創造新事物並簡化複雜的概念,使其更易於理解。作為我們的常駐開發人員之一,他還志願教學,將他的專業知識傳授給下一代。

對Darrius來說,他的工作是有意義的,因為它有價值且對社會有真正的影響。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話