如何使用 IronPDF for JAVA 将 HTML 转换为 PDF

用 Java 将 HTML 转换为 PDF.

This article was translated from English: Does it need improvement?
Translated
View the article in English

本教程指导 Java 开发人员如何使用 IronPDF 库将 HTML 内容转换为像素完美的 PDF(可移植文档格式)文档。

IronPDF 是一个功能齐全的 PDF 转换器和 PDF 处理库。 IronPDF 适用于 .NETJava 两种编程语言。 本教程介绍了如何使用该库在 Java 应用程序中转换 HTML 内容(文件、标记等)。 在 .NET 应用程序中将 HTML 转换为 PDF 的教程可在 HTML to PDF .NET tutorial. 中找到。


如何在 Java 中将 HTML 转换为 PDF.

!a href="/static-assets/pdf/images/html-to-pdf-java.png"> 如何在 Java 中将 HTML 转换为 PDF

1.在 Maven 配置的 Java 项目中将 IronPDF 添加为依赖项 2.使用 renderHtmlAsPdf 方法将 HTML 字符串转换为 PDF 文档 3.用 Java 从网站 URL 生成 PDF 文件 4.使用 renderHtmlFileAsPdf 方法将 HTML 文件转换为 PDF 文件 5.将生成的 PDF 另存为新文件


开始

今天在您的项目中使用 IronPDF,免费试用。

第一步:
green arrow pointer


1.安装 IronPDF PDF Library for Java 2.

有两种方法可将 IronPDF 库纳入 Java 项目:

1.在 Maven 配置的 Java 项目中将 IronPDF 添加为依赖项

  1. 下载IronPDF JAR文件并手动将其添加到项目类路径中。

下文将简要介绍这两种安装方法。

选项 1:将 IronPDF 作为 Maven 依赖项安装

要使用 Maven 在 Java 项目中安装 IronPDF,请在 Java 项目的 pom.xml 文件的依赖关系部分添加以下工件。

<dependencies>
    <!-- IronPDF Library -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>

    <!-- SLF4J for logging (optional but recommended) -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>
</dependencies>
<dependencies>
    <!-- IronPDF Library -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>

    <!-- SLF4J for logging (optional but recommended) -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>
</dependencies>
XML

第一个工件引用了最新版本的 IronPDF 库。 第二件作品参考了 SLF4J 实现。 为了使 IronPDF 的渲染引擎能够在执行过程中生成日志信息,需要使用此依赖关系。 软件工程师可以用此依赖关系替代其他日志记录提供程序(如 Logback 和 Log4J); 如果他们不需要或不希望记录日志,也可以完全省略。

在 Java 项目根目录下的终端中运行 mvn install 命令,下载前面提到的库。

选项 2:手动安装 IronPDF JAR.

不喜欢使用 Maven 或任何其他依赖管理系统的开发人员需要下载 IronPdf 库 JAR 文件(以及可选的 SLF4J 实现),并手动将其添加到项目的类路径中。

直接从 IronPDF JAR 下载(或从 Maven Repository)下载 IronPDF JAR 文件。


2.将 HTML 转换为 PDF.

本节将展示 IronPDF 旗舰产品 HTML 到 PDF 的渲染能力。

PdfDocument 类是 IronPDF 所有 PDF 文档渲染和处理功能的入口。 该类包含一套将 HTML 转换为 PDF 文档的强大方法,支持以下三种使用情况:从 HTML 字符串/标记转换、从 HTML 文件转换和从 URL 转换。 本节将简要介绍上述每种使用情况,并提供其他内容的链接,以便收集更多信息。

2.1 导入 IronPDF 软件包。

IronPDF 的所有转换和处理组件都包含在 com.ironsoftware.ironpdf 包中。

在 Java 源文件(将使用 IronPDF 的地方)的顶部包含以下导入语句,以使应用程序的源代码可以访问这些组件。

// Import statement for IronPDF for Java
import com.ironsoftware.ironpdf.*;
// Import statement for IronPDF for Java
import com.ironsoftware.ironpdf.*;
JAVA

2.2.设置许可证密钥(可选)

IronPDF for Java 可免费使用。 不过,对于免费用户,它将为 PDF 文档打上平铺背景水印(如下图所示)。

!a href="/static-assets/ironPDF-java/tutorials/html-to-pdf/html-to-pdf-23.webp">Image showing watermark IronPDF for Java

要使用 IronPdf 生成不带水印的 PDF,库必须使用有效的许可证密钥。 下面的代码行使用许可证密钥配置库。

// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

许可证密钥应在生成 PDF 文件或自定义文件内容之前设置。 我们建议您在所有其他代码行之前调用 setLicenseKey 方法。

从 IronPDF 许可证页面购买许可证密钥,或联系我们获取免费试用许可证密钥。

2.3 设置日志文件位置(可选)

默认情况下(假设安装了 SLF4J 提供程序),IronPDF 会将日志信息生成一个名为 IronPdfEngine.log 的文本文件,该文件位于 Java 应用程序的根目录下。

要为日志文件指定不同的名称和位置,请使用 Settings.setLogPath 方法:

// Set a log path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
// Set a log path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
JAVA

[{i:(Settings.setLogPath 必须在使用任何 PDF 转换和操作方法之前调用。

2.4.从 HTML 字符串创建 PDF.

PdfDocument.renderHtmlAsPdf 将 HTML 内容字符串转换为 PDF 文档。

以下代码示例使用单个标题元素生成一个新文件。

// Convert HTML string to PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the PDF document
pdf.saveAs("htmlstring_to_pdf.pdf");
// Convert HTML string to PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the PDF document
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA

renderHtmlAsPdf 方法可以获取位于计算机或网络驱动器文件夹中的图像、样式表和脚本。下一个示例将从 HTML 生成 PDF 文档,该文档引用了位于 assets 文件夹中的 CSS 文件和图像:

// HTML string with external assets
String html = "<html><head><title>Hello world!</title><link rel='stylesheet' href='assets/style.css'></head><body><h1>Hello from IronPDF!</h1><a href='https://ironpdf.com/java/'><img src='assets/logo.png' /></a></body></html>";
// Convert HTML to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document
pdf.saveAs("output.pdf");
// HTML string with external assets
String html = "<html><head><title>Hello world!</title><link rel='stylesheet' href='assets/style.css'></head><body><h1>Hello from IronPDF!</h1><a href='https://ironpdf.com/java/'><img src='assets/logo.png' /></a></body></html>";
// Convert HTML to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document
pdf.saveAs("output.pdf");
JAVA

renderHtmlAsPdf 的第二个参数(可选)允许开发人员指定引用网络资产的基本路径。 该路径可以是本地文件系统中的一个目录,也可以是 URL 路径。

从使用 HTML 创建 PDF 的代码示例中了解有关 renderHtmlAsPdf 方法的更多信息,或在 PdfDocument 类的 API 参考页面中阅读有关该方法的信息,以便更好地控制 HTML 到 PDF 的渲染。

2.5.从 URL 创建 PDF.

开发人员可以使用 IronPDF 的 PdfDocument.renderUrlAsPdf 方法将在线网页转换为 PDF 文档。

下一个示例将维基百科文章渲染为 PDF 内容。

// Convert a URL to PDF
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PDF document
pdf.saveAs("url_to_pdf.pdf");
// Convert a URL to PDF
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PDF document
pdf.saveAs("url_to_pdf.pdf");
JAVA

通过将 URL 转换为 PDF 的代码示例,了解将网页转换为 PDF 内容的更多信息。

2.6.从 HTML 文件创建 PDF.

IronPdf 还能将存储在本地文件系统中的 HTML 文档直接渲染为等效的 PDF 格式。

下一个代码示例使用这张发票作为实际演示,说明 IronPDF 可以很好地转换 HTML 文件。

为方便起见,在此转载发票的 HTML 标记:

<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    ...
</body>
</html>
<html>
<head>
    <meta charset="utf-8">
    <title>Invoice</title>
    <link rel="stylesheet" href="style.css">
    <link rel="license" href="https://www.opensource.org/licenses/mit-license/">
    <script src="script.js"></script>
</head>
<body>
<header>
    <h1>Invoice</h1>
    <address contenteditable>
        <p>Jonathan Neal</p>
        <p>101 E. Chapman Ave<br>Orange, CA 92866</p>
        <p>(800) 555-1234</p>
    </address>
    <span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
    <h1>Recipient</h1>
    <address contenteditable>
        <p>Some Company<br>c/o Some Guy</p>
    ...
</body>
</html>
HTML

假设 HTML 文件已经连同 CSS 文件和 JavaScript 文件一起保存到名为 "发票 "的文件夹中。我们可以使用 IronPDF 对 HTML 文件进行如下转换:

// Convert an HTML file to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the PDF document
pdf.saveAs("htmlfile_to_pdf.pdf");
// Convert an HTML file to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the PDF document
pdf.saveAs("htmlfile_to_pdf.pdf");
JAVA

与 HTML 字符串到 PDF 的转换示例一样,IronPDF 可将 HTML 文档中的任何相对 URL 正确解析为其在文件系统中的正确路径。 因此,本示例生成的 PDF 文件能够完美地捕捉到任何引用的样式表和脚本通常会对网页产生的视觉影响。

3. 深入阅读

我们对 IronPDF 的 HTML 到 PDF 的渲染能力只是略知一二。

使用我们的 Code Examples 部分中的精选代码示例,进一步了解如何使用 HTML to PDF 转换器进行 Java 开发。

1.阅读 PDF 生成设置的代码示例,了解如何在转换过程中自定义 PDF 文档的外观。
2.生成带有自定义页眉和页脚边距大小的 PDF 文件、 页面尺寸水印等等。
3.从文档中提取 PDF 内容(从 PDF 中提取文本从 PDF 中提取图像)、使用 PDF 压缩优化文件大小,以及 使用 IronPrint 功能以编程方式打印 PDF.

研究 IronPDF Java API 参考页面中的 PdfDocument 类,以获得对渲染 HTML 到 PDF 的更大控制。

常见问题解答

如何在Java中将HTML内容转换为PDF?

您可以使用 IronPDF 的 PdfDocument.renderHtmlAsPdf 方法将 HTML 内容转换为 PDF 文档。此方法确保 HTML 的格式被保留。

是否可以在 Java 中直接将网页 URL 转换为 PDF?

是的,您可以使用 IronPDF 的 PdfDocument.renderUrlAsPdf 方法直接将任何在线网页转换为 PDF 文档。

如何使用 Java 将本地 HTML 文件转换为 PDF?

使用 IronPDF,您可以使用 PdfDocument.renderHtmlFileAsPdf 方法将存储在本地系统中的 HTML 文件渲染为 PDF 文档。

我可以移除由 Java PDF 库生成的 PDF 上的水印吗?

要移除由 IronPDF 生成的 PDF 上的水印,您必须在创建 PDF 之前使用 License.setLicenseKey 方法设置一个有效的许可证密钥。

如何在将 HTML 转换为 PDF 时包括外部资产,如 CSS ?

IronPDF 支持在将 HTML 转换为 PDF 时包括外部 CSS 和其他资产。确保这些资产的路径在您的 HTML 内容中被正确引用。

使用 Maven 安装 IronPDF for Java 的步骤是什么?

要使用 Maven 在 Java 项目中安装 IronPDF,将 IronPDF 依赖项添加到项目的 pom.xml 文件,并在项目根目录下执行 mvn install

Java 中是否有记录 PDF 生成过程的选项?

是的,IronPDF 支持通过 SLF4J 进行日志记录。如果安装了 SLF4J 提供程序,您可以使用 Settings.setLogPath 方法设置日志文件位置。

我可以自定义从 HTML 生成的 PDF 的外观吗?

是的,IronPDF 允许您自定义 PDF 生成设置,包括页眉、页脚和边距。您可以通过库中提供的各种自定义选项实现这一点。

在哪里可以找到更多使用 IronPDF 的 Java 示例?

您可以在 IronPDF 网站的代码示例部分和 Java API 参考页面上找到更多使用 IronPDF for Java 的示例和文档。

IronPDF 是否完全兼容 .NET 10,能够实现 HTML 到 PDF 的转换?

是的。IronPDF 完全兼容 .NET 10,无需特殊配置即可开箱即用。您可以在 .NET 10 中使用其 HTML 转 PDF 方法(例如ChromePdfRenderer.RenderHtmlAsPdf ),并利用框架的改进,例如更高的性能和更新的 API。

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

Darrius Serrant 拥有迈阿密大学的计算机科学学士学位,目前在 Iron Software 担任全栈 WebOps 市场工程师。从小就被编码吸引,他认为计算机既神秘又易于接触,使其成为创意和问题解决的理想媒介。

在 Iron Software,Darrius 喜欢创造新事物,并简化复杂概念以使其更易理解。作为我们常驻的开发者之一,他还自愿教授学生,与下一代分享他的专业知识。

对于 Darrius 来说,他的工作令人满意,因为它被重视并产生真正的影响。

准备开始了吗?
版本: 2025.12 刚刚发布