使用 Java 将 HTML 转换为 PDF

作为 Java 开发人员,您可以在 Java 应用程序中以编程方式轻松地将 HTML 文件或网页从实时 Web URL 转换为 PDF 文档。在本文中,您将学习如何使用 Java 将 HTML 转换为 PDF

本文讨论/涵盖了以下主题:

HTML 到 PDF 转换 Java API

为了将 HTML 转换为 PDF,我将使用 GroupDocs.Conversion for Java API。它是一种快速、高效、可靠的 Java 应用程序文件转换解决方案,无需安装任何外部软件。您可以在所有流行的商业文档格式之间进行转换,例如 PDF、HTML、电子邮件、Word、Excel、PowerPoint、Project、光栅图像文件格式等等。它还允许您显示整个文档,或部分渲染它以加快处理速度。该 API 与所有 Java 版本兼容,并支持能够运行 Java 运行时的流行操作系统(Windows、Linux、macOS)。

您可以 下载 API 的 JAR 或在您的基于 Maven 的 Java 应用程序中添加以下 pom.xml 配置来尝试下面提到的代码示例。

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
  <groupId>com.groupdocs</groupId>
  <artifactId>groupdocs-conversion</artifactId>
  <version>21.7</version> 
</dependency>

使用 Java 将 HTML 转换为 PDF

您可以按照下面给出的简单步骤轻松地将 HTML 文件转换为 PDF 文档:

  1. 使用输入文件路径创建 Converter 类的实例
  2. 创建 PdfConvertOptions 的实例
  3. 使用输出文件路径和转换选项调用 convert() 方法

以下代码示例展示了如何使用 Java 将 HTML 文档转换为 PDF 文档

// 初始化转换器
Converter 转变er = new Converter("C:\\Files\\sample.html");

// 定义 PDF 转换选项
PdfConvertOptions options = new PdfConvertOptions();

// 转变
转变er.转变("C:\\Files\\HtmlToPdf.pdf", options);
使用 Java 将 HTML 转换为 PDF

使用 Java 将 HTML 转换为 PDF

Converter 类是控制文档转换过程的主要类。它提供了各种方法来满足转换请求。该类的 convert() 方法将源文档转换为指定的目标格式,并将转换后的文档保存在给定的文件路径中。它提供了几个重载的 convert() 方法来转换支持的文件格式。

使用高级选项将 HTML 转换为 PDF

您可以按照以下步骤在将 HTML 文件转换为 PDF 文档时使用一些高级设置:

  1. 使用输入文件路径创建 Converter 类的实例
  2. 创建 PdfConvertOptions 的实例
  3. 设置各种选项,如_Rotation_、DpiWidth、_Height_等。
  4. 使用输出文件路径和转换选项调用 convert() 方法

以下代码示例展示了如何使用高级设置将 HTML 文件转换为 PDF 文档。

// 初始化转换器
Converter 转变er = new Converter("C:\\Files\\sample.html");

// 定义 PdfConvertOptions
PdfConvertOptions options = new PdfConvertOptions();
options.setPassword("12345");
options.setRotate(Rotation.On180);
options.setDpi(300);
options.setWidth(1024);
options.setHeight(768);

// 转变
转变er.转变("C:\\Files\\ConvertWithAdvancedOptions.pdf", options);
使用 Java 使用高级选项将 HTML 转换为 PDF

使用 Java 使用高级选项将 HTML 转换为 PDF

PdfConvertOptions 类提供了几个选项来将指定的输入文件转换为 PDF 文档。我使用了以下选项:

  • 宽度 — the setWidth() property sets the image width after conversion
  • 高度 — the setHeight() property sets the desired image height after conversion
  • Dpi — the setDpi() property sets the desired page DPI after conversion
  • 密码 — the setPassword() property protects the converted document with a password
  • 旋转 — the setRotate() property allows page rotation with the following available options: None, On90, On180, On270

您可以在文档中找到有关“使用高级选项转换为 PDF”的更多详细信息。

从 URL 转换 HTML 到 PDF

您可以按照以下步骤将 HTML 网页从实时 URL 转换为 PDF 文档:

  1. 提供输入流对象的 URL 并打开流
  2. 使用输入流对象创建 Converter 类的实例
  3. 创建 PdfConvertOptions 的实例
  4. 使用输出文件路径和转换选项调用 convert() 方法

以下代码示例展示了如何使用 Java 将 HTML 从 Web URL 转换为 PDF 文档

// 输入流
InputStream stream = new URL("https://onlinebooks.library.upenn.edu/readers.html").openStream();

// 初始化转换器
Converter 转变er = new Converter(stream);

// 定义 PDF 转换选项
PdfConvertOptions options = new PdfConvertOptions();

// 转变
转变er.转变("C:\\Files\\LoadDocumentFromUrl.pdf", options);

将 HTML 的特定页面范围转换为 PDF

您可以按照以下步骤将特定页面从多页 HTML 文档转换为 PDF 文档:

  1. 使用输入文件路径创建 Converter 类的实例
  2. 创建 PdfConvertOptions 的实例
  3. 设置页码开始转换
  4. 设置页数以转换总页数
  5. 使用输出文件路径和转换选项调用 convert() 方法

以下代码示例展示了如何使用 Java 将特定页面从 HTML 转换为 PDF 文档

// 初始化转换器
Converter 转变er = new Converter("C:\\Files\\Conversion\\sample_2.html");

// 定义 PdfConvertOptions
PdfConvertOptions options = new PdfConvertOptions();
options.setPageNumber(2);
options.setPagesCount(1);

// 转变
转变er.转变("C:\\Files\\ConvertNConsecutivePages.pdf", options);

将 HTML 转换为 PDF 并添加水印

您可以按照以下步骤将 HTML 文件转换为带水印的 PDF 文档:

  1. 创建 Converter 类的实例
  2. 向构造函数提供输入文件路径
  3. 创建 PdfConvertOptions 的实例
  4. 创建 WatermarkOptions 的实例
  5. 设置各种选项,例如_Text_、ColorWidthHeight、_RotatationAngle_等。
  6. 使用输出文件路径和转换选项调用 convert() 方法

以下代码示例展示了如何使用 Java 将 HTML 文档转换为带水印的 PDF 文档

// 初始化转换器
Converter 转变er = new Converter("C:\\Files\\sample_2.html");

// 定义 PDF 转换选项
PdfConvertOptions options = new PdfConvertOptions();

// 定义水印选项
WatermarkOptions watermark = new WatermarkOptions();
watermark.setText("THIS IS A SAMPLE TEXT WATERMARK");
watermark.setColor(Color.red);
watermark.setTop(400);
watermark.setLeft(150);
watermark.getWatermarkFont().setBold(true);
watermark.setRotationAngle(30);
watermark.setWidth(1000);
watermark.setHeight(1000);
watermark.setBackground(false);
options.setWatermark(watermark);

// 转变
转变er.转变("C:\\Files\\HtmlToPDFAddWatermark.pdf", options);
使用 Java 将 HTML 转换为 PDF 并添加水印

使用 Java 将 HTML 转换为 PDF 并添加水印

WatermarkOptions 类提供了几个选项来为转换后的文档添加水印。它使您可以在转换后的文档中添加文本或图像水印。

获得免费许可证

您可以通过请求 免费的临时许可证 来试用该 API,而不受评估限制。

结论

在本文中,您学习了如何使用 Java 将 HTML 转换为 PDF 文档。您还学习了如何在转换后的 PDF 文档中添加水印。此外,您还学习了如何使用高级 PDF 转换选项以编程方式转换 HTML。本文还解释了如何使用 Java 将 HTML 网页从实时 URL 转换为 PDF 文档。您可以使用 文档 了解有关 GroupDocs.Conversion Java API 的更多信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看