使用IRONPDF FOR JAVA

如何在Java中生成PDF报告

本文将使用IronPDF创建PDF报告。 这与从头开始手动创建报告相比,可以节省大量时间和精力。 总体而言,PDF报告生成器是一个快速且轻松创建专业级报告的高效工具。

Java PDF库IronPDF

IronPDF for Java PDF Library 是一个 Java PDF 库,使开发人员能够在其 Java 应用程序中轻松创建、操作和呈现 PDF 文档。 使用IronPDF,开发人员可以从HTML、CSS和JavaScript生成高质量的PDF,还可以从其他文件格式(如图像、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标记来设计他们的报告。

从HTML创建PDF报告

您可以直接从HTML创建PDF报告,并同时使用[renderHtmlAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)方法保存为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文件

结论

总之,使用像IronPDF for Java PDF API这样的PDF报告生成器可以帮助企业和组织在创建专业报告方面节省大量时间和精力。

有关更多教程和代码示例,请访问Java PDF 创建示例。 要了解如何使用IronPDF生成PDF,请访问Java PDF创建教程

IronPDF for Java 可免费用于开发目的,但商业用途需要商业许可证。 但是,您可以获取免费的IronPDF试用许可证来测试IronPDF for Java的功能。 有关许可证的更多信息,请访问IronPDF 许可证指南

Darrius Serrant
全栈软件工程师(WebOps)

达瑞乌斯·塞兰特拥有迈阿密大学计算机科学学士学位,目前在Iron Software担任全栈WebOps营销工程师。从小对编码的热爱使他认为计算机既神秘又易接近,成为创意和解决问题的完美媒介。

在Iron Software,达瑞乌斯乐于创造新事物并简化复杂概念,使其更易于理解。作为我们在职开发者之一,他还自愿教授学生,将他的专业知识传授给下一代。

对达瑞乌斯而言,他的工作之所以令人满足,是因为它具有价值并产生了真正的影响。

< 前一页
如何在Java中解析PDF(开发者教程)
下一步 >
如何在Java中从模板创建PDF

通过Maven安装

版本:2025.5.6

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