使用 IRONPDF FOR JAVA

如何在 Java 中生成 PDF 報告

本文將使用IronPDF來製作PDF報告。 相比從頭手動創建報告,這可以節省大量的時間和精力。 總體來說,PDF 報告生成器是一個高效且有效的工具,可以快速輕鬆地創建專業級報告。

1. IronPDF for Java PDF 庫

IronPDF for Java PDF Library 是一個 Java PDF 庫,可讓開發人員輕鬆在其 Java 應用程式中建立、操作和渲染 PDF 文件。 使用 IronPDF,開發人員可以從 HTML、CSS 和 JavaScript,以及其他文件格式(如圖像、Word 文件和 Excel 試算表)生成高品質的 PDF。

IronPDF 的設計以簡單及靈活為核心,讓開發者能輕鬆地將 PDF 功能整合到他們的 Java 應用程式中。 它提供了一套豐富的功能,包括支持將文字、圖片和其他多媒體新增到 PDF 文件,還能添加數位簽章浮水印和其他安全功能。 此外,IronPDF 提供了高級 PDF 操作功能,例如合併拆分以及從現有 PDF 文件中提取頁面等功能。

2. 必要條件

為了使用 IronPDF 生成 PDF 報告,需要滿足某些先決條件。 這些先決條件包括:

  1. 您的系統上必須安裝 Java,並且必須在環境變數中設置其路徑。 如果您尚未安裝 Java,您可以從Java 官方下載頁面下載並安裝。

  2. 需要使用整合開發環境(IDE),例如EclipseIntelliJ來編寫和執行您的程式碼。

  3. Maven,一個構建自動化工具,應該與您的 IDE 整合以管理依賴性和構建專案。 如果您不熟悉 Maven 或需要幫助將其與您的 IDE 整合,您可以參考官方 Maven 整合指南以獲取指導。

    一旦滿足這些先決條件,您就可以繼續設置您的專案並在Java應用程序中使用IronPDF生成PDF。

3. IronPDF for Java 安裝

要開始,請開啟 JetBrains IntelliJ IDEA 並創建一個新的 Maven Java 專案。

如何在 Java 中生成 PDF 報告,圖 1:創建 Maven 項目

建立 Maven 專案

在 JetBrains IntelliJ IDEA 中開始一個新專案時,將彈出一個新視窗,詢問專案的名稱和位置。 輸入合適的名稱和位置後,您可以繼續點擊「完成」按鈕。

如何在 Java 中生成 PDF 報告,圖2:配置項目

配置專案

一旦您點擊 "完成" 按鈕,JetBrains IntelliJ IDEA 中將打開一個新項目,並顯示 pom.xml 文件。此文件將用於添加 Maven 項目所需的依賴項。

如何在 Java 中生成 PDF 報告,圖 3:pom.xml 文件

pom.xml 文件

pom.xml檔案中添加以下依賴項。

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>com.ironsoftware</artifactId>
   <version>2025.5.6</version>
</dependency>

成功將上述相依項目添加到pom.xml檔案後,您會注意到在檔案的右上角出現了一個小圖標。

如何在 Java 中生成 PDF 報告,圖 4:從 pom.xml 文件安裝依賴項

從 pom.xml 檔案安裝相依性

只需點擊此圖標即可安裝依賴項。 這個過程只需幾分鐘,具體時間取決於您網路連線的速度。 之後,創建一個新的 Java 文件或 Java 類文件,然後開始編寫您的代碼。

4. 使用 IronPDF 建立 PDF 報告

使用 IronPDF,開發人員可以快速輕鬆地從廣泛的資料來源(包括資料庫、API 和其他來源)建立自訂報告。 使用 IronPDF 進行報告生成的一個主要好處是它能夠從 HTML 生成 PDF 報告。 這意味著,開發人員可以使用熟悉的 HTML 和 CSS 標記來設計他們的報告。

4.1. 從 HTML 建立 PDF 報告

您可以使用renderHtmlAsPdf方法直接從HTML創建PDF報告並同時保存為PDF文件。 此方法將 HTML 程式碼作為輸入並生成 PDF 實例作為輸出。 它使用[saveAs](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.lang.String)方法將數據保存為指定位置的新文檔。

以下是提供的源代碼:

import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class main {
    public static void main(String[] args) throws IOException {
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("\n" +
                "\n" +
                "\n" +
                "\tSample Report\n" +
                "\t\n" +
                "\t\tbody {\n" +
                "\t\t\tfont-family: Arial, sans-serif;\n" +
                "\t\t\tfont-size: 14px;\n" +
                "\t\t}\n" +
                "\t\ttable {\n" +
                "\t\t\tborder-collapse: collapse;\n" +
                "\t\t\twidth: 100%;\n" +
                "\t\t}\n" +
                "\t\tth, td {\n" +
                "\t\t\tpadding: 8px;\n" +
                "\t\t\ttext-align: left;\n" +
                "\t\t\tborder-bottom: 1px solid #ddd;\n" +
                "\t\t}\n" +
                "\t\tth {\n" +
                "\t\t\tbackground-color: #f2f2f2;\n" +
                "\t\t}\n" +
                "\t\th1 {\n" +
                "\t\t\tfont-size: 24px;\n" +
                "\t\t\tmargin-bottom: 16px;\n" +
                "\t\t}\n" +
                "\t\tp {\n" +
                "\t\t\tmargin-bottom: 8px;\n" +
                "\t\t}\n" +
                "\t\n" +
                "\n" +
                "\n" +
                "\tSample Report\n" +
                "\tThis is a sample report generated with HTML.\n" +
                "\t\n" +
                "\t\t\n" +
                "\t\t\t\n" +
                "\t\t\t\tID\n" +
                "\t\t\t\tName\n" +
                "\t\t\t\tAge\n" +
                "\t\t\t\tEmail\n" +
                "\t\t\t\n" +
                "\t\t\n" +
                "\t\t\n" +
                "\t\t\t\n" +
                "\t\t\t\t1\n" +
                "\t\t\t\tJohn Doe\n" +
                "\t\t\t\t30\n" +
                "\t\t\t\tjohn.doe@example.com\n" +
                "\t\t\t\n" +
                "\t\t\t\n" +
                "\t\t\t\t2\n" +
                "\t\t\t\tJane Smith\n" +
                "\t\t\t\t25\n" +
                "\t\t\t\tjane.smith@example.com\n" +
                "\t\t\t\n" +
                "\t\t\t\n" +
                "\t\t\t\t3\n" +
                "Mike Johnson\n" +
                "40\n" +
                "mike.johnson@example.com\n" +
                "\n" +
                "\n" +
                "\n" +
                "" +
                "");

        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class main {
    public static void main(String[] args) throws IOException {
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("\n" +
                "\n" +
                "\n" +
                "\tSample Report\n" +
                "\t\n" +
                "\t\tbody {\n" +
                "\t\t\tfont-family: Arial, sans-serif;\n" +
                "\t\t\tfont-size: 14px;\n" +
                "\t\t}\n" +
                "\t\ttable {\n" +
                "\t\t\tborder-collapse: collapse;\n" +
                "\t\t\twidth: 100%;\n" +
                "\t\t}\n" +
                "\t\tth, td {\n" +
                "\t\t\tpadding: 8px;\n" +
                "\t\t\ttext-align: left;\n" +
                "\t\t\tborder-bottom: 1px solid #ddd;\n" +
                "\t\t}\n" +
                "\t\tth {\n" +
                "\t\t\tbackground-color: #f2f2f2;\n" +
                "\t\t}\n" +
                "\t\th1 {\n" +
                "\t\t\tfont-size: 24px;\n" +
                "\t\t\tmargin-bottom: 16px;\n" +
                "\t\t}\n" +
                "\t\tp {\n" +
                "\t\t\tmargin-bottom: 8px;\n" +
                "\t\t}\n" +
                "\t\n" +
                "\n" +
                "\n" +
                "\tSample Report\n" +
                "\tThis is a sample report generated with HTML.\n" +
                "\t\n" +
                "\t\t\n" +
                "\t\t\t\n" +
                "\t\t\t\tID\n" +
                "\t\t\t\tName\n" +
                "\t\t\t\tAge\n" +
                "\t\t\t\tEmail\n" +
                "\t\t\t\n" +
                "\t\t\n" +
                "\t\t\n" +
                "\t\t\t\n" +
                "\t\t\t\t1\n" +
                "\t\t\t\tJohn Doe\n" +
                "\t\t\t\t30\n" +
                "\t\t\t\tjohn.doe@example.com\n" +
                "\t\t\t\n" +
                "\t\t\t\n" +
                "\t\t\t\t2\n" +
                "\t\t\t\tJane Smith\n" +
                "\t\t\t\t25\n" +
                "\t\t\t\tjane.smith@example.com\n" +
                "\t\t\t\n" +
                "\t\t\t\n" +
                "\t\t\t\t3\n" +
                "Mike Johnson\n" +
                "40\n" +
                "mike.johnson@example.com\n" +
                "\n" +
                "\n" +
                "\n" +
                "" +
                "");

        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

只需在專案中直接撰寫 HTML 程式碼,便能立即從中生成 PDF 文件。

如何在 Java 中生成 PDF 報告,圖 5:輸出 PDF 文件

輸出 PDF 檔案

4.2. 從 RTF 代碼創建 PDF 文件報告

使用 IronPDF,你也可以使用 Java 程式來渲染 RTF 代碼。 以下是將RTF轉換為PDF報告的範例程式碼。 此範例將使用renderRtfAsPdf 方法將 RTF 程式碼轉換為 PDF 實例,最後使用saveAs 方法存儲 PDF。

import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class main {
    public static void main(String[] args) throws IOException {
        PdfDocument myPdf = PdfDocument.renderRtfAsPdf("{\\rtf1\\ansi\\deff0\n" +
                "{\\fonttbl{\\f0 Arial;}}\n" +
                "{\\colortbl;\\red0\\green0\\blue0;\\red255\\green0\\blue0;}\n" +
                "\\pard\\plain\\fs24\\cf1\n" +
                "\\cbpat8\n" +
                "\\qc\\ul\\i\\cf2\\expndtw2\\charscalex120 Sample Report\\line\n" +
                "\\ulnone\\i0\\cf1\\charscalex100\\expndtw0\\par\n" +
                "\\pard\\plain\\fs18\\cf1\n" +
                "This is a sample report generated with RTF.\\par\n" +
                "\\par\n" +
                "\\pard\\plain\\fs16\\cf1\n" +
                "\\cbpat0\n" +
                "\\qc\n" +
                "{\\b Table 1: Sample Data}\\par\n" +
                "\\par\n" +
                "{\\pard\\plain\\fs16\\cf1\n" +
                "\\qc\n" +
                "{\\*\\shppict{\\pict\\pngblip\\picw98\\pich36\\picwgoal441\\pichgoal162\\hex5b5d5c5f5d5c5d5e5c5e5f5d5c5e5c5f5c5f5d5d5c5f5e5e5d5e5d5d5f5c5e5e5c5e5d5d5c5e5c5f5e5f5d5d5c5e5c5f5e5d5c5f5d5e5d5d5c5f5e5e5d5d5c5f5d5e5c5f5d5c5f5d5c5e5e5d5c5e5f5d5e5e5d5c5e5d5c5f5d5c5e5c5f5e5d5d5c5e5c5f5e5f5d5d5c5e5c5f5e5d5c5f5d5e5d5d5c5f5e5e5d5d5c5f5d5e5c5f5d5c5f5d5c5e5e5d5c5e5f5d5e5e5d5c5e5d5c5f5d5c5e5c5f5e5d5d5c5e5c5f5e5f5d5d5c5e5c5f5e5d5c5f5d5e5d5d5c5f5e5e5d5d5c5f5d5e5c5f5d5c5f5d5c5e5e5d5c5e5f5d5e5e5d5c5e5d5c5f5d5c5e5c5f5e5d5d5c5e5c5f5e5f5d5d5c5e5c5f5e5d5c5f5d5e5d5d5c5f5e5e5d5d5c5f5d5e5c5f5d5c5f5d5c5e5e5d5c5e5f5d5e5e5d5c5e5d5c5\n");

        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.PdfDocument;

import java.io.IOException;
import java.nio.file.Paths;

public class main {
    public static void main(String[] args) throws IOException {
        PdfDocument myPdf = PdfDocument.renderRtfAsPdf("{\\rtf1\\ansi\\deff0\n" +
                "{\\fonttbl{\\f0 Arial;}}\n" +
                "{\\colortbl;\\red0\\green0\\blue0;\\red255\\green0\\blue0;}\n" +
                "\\pard\\plain\\fs24\\cf1\n" +
                "\\cbpat8\n" +
                "\\qc\\ul\\i\\cf2\\expndtw2\\charscalex120 Sample Report\\line\n" +
                "\\ulnone\\i0\\cf1\\charscalex100\\expndtw0\\par\n" +
                "\\pard\\plain\\fs18\\cf1\n" +
                "This is a sample report generated with RTF.\\par\n" +
                "\\par\n" +
                "\\pard\\plain\\fs16\\cf1\n" +
                "\\cbpat0\n" +
                "\\qc\n" +
                "{\\b Table 1: Sample Data}\\par\n" +
                "\\par\n" +
                "{\\pard\\plain\\fs16\\cf1\n" +
                "\\qc\n" +
                "{\\*\\shppict{\\pict\\pngblip\\picw98\\pich36\\picwgoal441\\pichgoal162\\hex5b5d5c5f5d5c5d5e5c5e5f5d5c5e5c5f5c5f5d5d5c5f5e5e5d5e5d5d5f5c5e5e5c5e5d5d5c5e5c5f5e5f5d5d5c5e5c5f5e5d5c5f5d5e5d5d5c5f5e5e5d5d5c5f5d5e5c5f5d5c5f5d5c5e5e5d5c5e5f5d5e5e5d5c5e5d5c5f5d5c5e5c5f5e5d5d5c5e5c5f5e5f5d5d5c5e5c5f5e5d5c5f5d5e5d5d5c5f5e5e5d5d5c5f5d5e5c5f5d5c5f5d5c5e5e5d5c5e5f5d5e5e5d5c5e5d5c5f5d5c5e5c5f5e5d5d5c5e5c5f5e5f5d5d5c5e5c5f5e5d5c5f5d5e5d5d5c5f5e5e5d5d5c5f5d5e5c5f5d5c5f5d5c5e5e5d5c5e5f5d5e5e5d5c5e5d5c5f5d5c5e5c5f5e5d5d5c5e5c5f5e5f5d5d5c5e5c5f5e5d5c5f5d5e5d5d5c5f5e5e5d5d5c5f5d5e5c5f5d5c5f5d5c5e5e5d5c5e5f5d5e5e5d5c5e5d5c5\n");

        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

如何在 Java 中生成 PDF 報告,圖 6:從 RTF 代碼生成的輸出 PDF 文件

來自 RTF 代碼的輸出 PDF 文件

5. 結論

總之,使用像IronPDF for Java PDF API這樣的PDF報告生成器,可以節省企業和組織在製作專業報告時的大量時間和精力。

如需更多教程和程式碼範例,請造訪Java PDF 創建範例。 要了解如何使用IronPDF生成PDF,請參閱Java PDF創建指南

IronPDF for Java 可免費用於開發目的,但商業用途需獲得商業許可。 然而,您可以獲取 IronPDF 的試用許可證 來測試 IronPDF for Java 的功能。 如需有關授權的更多資訊,請造訪IronPDF 授權指南

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

Darrius Serrant 擁有邁阿密大學的計算機科學學士學位,目前擔任 Iron Software 的全端 WebOps 行銷工程師。自幼對編程產生興趣,他認為計算機既神秘又易於接觸,使其成為創造力和解決問題的完美媒介。

在 Iron Software,Darrius 享受創造新事物並簡化複雜概念使其更易理解的過程。作為我們的其中一位常駐開發人員,他也自願教導學生,將他的專業知識傳授給下一代。

對 Darrius 來說,他的工作之所以令人滿足,是因為它受到重視並且產生了真正的影響。

< 上一頁
如何在 Java 中解析 PDF(開發者教程)
下一個 >
如何在 Java 中從模板創建 PDF