当前位置: 首页 > article >正文

国产化Word处理控件Spire.Doc教程:通过Java简单快速的将 HTML 转换为 PDF

在处理 HTML 文件时,你可能会发现它们在不同的浏览器和屏幕尺寸下的显示效果并不一致。而将 HTML 转换为 PDF 则可以有效地保留其布局和格式,从而确保内容在不同设备和平台上的呈现保持一致。本文将介绍如何在 Spire.Doc for Java 的帮助下通过 Java 将 HTML 文件或 HTML 字符串转换为 PDF

Spire.Doc for Java下载 

安装 Spire.Doc for Java

Spire.Doc for Java 是一款功能强大且专业的 Java 组件,可用于在不依赖 Microsoft Office 的环境下轻松处理 Word 文档,实现文档自动化操作。 要在项目中安装 Spire.Doc,有两种常见方式:

● 手动引入:将 Spire.Doc.jar 文件添加为 Java 项目的依赖项。你可以从慧都网站下载该 JAR 文件。
● 使用 Maven 管理依赖:如果你使用的是 Maven 项目,可以在 pom.xml 文件中添加以下依赖代码来导入 Spire.Doc:

<repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https://repo.e-iceblue.cn/repository/maven-public/</url></repository>
</repositories>
<dependencies><dependency><groupId>e-iceblue</groupId><artifactId>spire.xls</artifactId><version>15.5.1</version></dependency>
</dependencies>

通过 Java 将 HTML 文件转换为 PDF

在很多情况下,为了确保文档在不同设备上具有一致的显示效果、避免排版错乱,将 HTML 转换为 PDF 是一种理想的解决方案。由于 PDF 具有固定版式的特点,它能在各种终端上保持一致的排版与布局。 借助 Spire.Doc,你可以轻松地将 HTML 文件转换为 PDF。只需使用 Document.saveToFile() 方法即可实现。具体操作步骤如下:

● 创建一个 Document 对象。
● 通过 Document.loadFromFile() 方法加载 HTML 文件。
● 使用 Document.saveToFile(String fileName, FileFormat.PDF) 方法将 HTML 文件转换并保存为 PDF 格式。

import com.spire.doc.*;
import com.spire.doc.documents.XHTMLValidationType;public class htmlFileToPdf {public static void main(String[] args) {// 创建一个 Document 类的对象Document document = new Document();// 加载一个 HTML 文件document.loadFromFile("E:/Administrator/Python1/input/项目进度.html", FileFormat.Html, XHTMLValidationType.None);// 将 HTML 文件保存为 PDFdocument.saveToFile("E:/Administrator/Python1/output/HTML转PDF.pdf", FileFormat.PDF);document.dispose();}
}

通过 Java 将 HTML 转换为 PDF

通过 Java 将 HTML 字符串转换为 PDF

要将 HTML 字符串转换为 PDF,你可以先通过 Paragraph.appendHTML() 方法将该字符串添加到 Word 文档中的段落里,然后再将文档保存为 PDF 文件。具体操作步骤如下:

● 创建一个 Document 对象。
● 使用 Document.addSection() 方法添加一个节。
● 使用 Section.addParagraph() 方法添加一个段落。
● 指定 HTML 字符串,并通过 Paragraph.appendHTML() 方法将其添加到段落中。
● 使用 Document.saveToFile(String fileName, FileFormat.PDF) 方法将文档保存为 PDF 格式。

下方代码展示了如何将一个包含文本和表格内容的 HTML 字符串转换为 PDF:

import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;import java.io.*;public class htmlstringtopdf {public static void main(String[] args) throws IOException {// 创建一个 Document 类的对象Document document = new Document();// 在文档中添加一个节Section sec = document.addSection();// 在节中添加一个段落Paragraph paragraph = sec.addParagraph();// 自定义 HTML 字符串String htmlString = "<!DOCTYPE html>\n" +"<html lang=\"zh-CN\">\n" +"<head>\n" +"  <meta charset=\"UTF-8\">\n" +"  <title>月度销售报告</title>\n" +"  <style>\n" +"    body {\n" +"      font-family: \"Microsoft YaHei\", sans-serif;\n" +"      line-height: 1.6;\n" +"      padding: 20px;\n" +"    }\n" +"    table {\n" +"      border-collapse: collapse;\n" +"      width: 60%;\n" +"      margin-top: 20px;\n" +"    }\n" +"    th, td {\n" +"      border: 1px solid #666;\n" +"      padding: 8px 12px;\n" +"      text-align: center;\n" +"    }\n" +"    th {\n" +"      background-color: #f2f2f2;\n" +"    }\n" +"  </style>\n" +"</head>\n" +"<body>\n" +"\n" +"  <h2>月度销售报告</h2>\n" +"\n" +"  <p>本月销售部门整体表现良好。下表为部分地区销售数据汇总:</p>\n" +"\n" +"  <table>\n" +"    <tr>\n" +"      <th>地区</th>\n" +"      <th>负责人</th>\n" +"      <th>销售额(万元)</th>\n" +"      <th>完成率</th>\n" +"    </tr>\n" +"    <tr>\n" +"      <td>华北地区</td>\n" +"      <td>张伟</td>\n" +"      <td>150</td>\n" +"      <td>125%</td>\n" +"    </tr>\n" +"    <tr>\n" +"      <td>华东地区</td>\n" +"      <td>李静</td>\n" +"      <td>120</td>\n" +"      <td>100%</td>\n" +"    </tr>\n" +"  </table>\n" +"\n" +"</body>\n" +"</html>\n";// 将 HTML 字符串添加到段落中paragraph.appendHTML(htmlString);// 将 HTML 字符串保存为 PDF 文件document.saveToFile("E:/Administrator/Python1/output/htmlString转PDF.pdf", FileFormat.PDF);document.dispose();}
}

Java 将 HTML 字符串转换为 PDF

结尾

本指南介绍了如何使用 Java 将 HTML 文件或 HTML 字符串转换为 PDF 文件。借助 Spire.Doc,你可以轻松实现这一过程,快速高效地完成文档转换任务。

http://www.lryc.cn/news/2392394.html

相关文章:

  • Spring AI 1.0 GA深度解析与最佳实践
  • Java求职面试:从Spring到微服务的技术挑战
  • 鸿蒙OSUniApp 开发的图文混排展示组件#三方框架 #Uniapp
  • WHAT - 学习 WebSocket 实时 Web 开发
  • 5G NTN卫星通信发展现状(截止2025年3月)
  • 【计算机网络】第2章:应用层—DNS
  • [Linux]虚拟地址到物理地址的转化
  • Linux线程入门
  • Kubernetes超详细教程,一篇文章帮助你从零开始学习k8s,从入门到实战
  • Docker基础 -- Ubuntu 22.04 AArch64 交叉编译 Docker 镜像构建指南
  • 【Elasticsearch】使用脚本删除索引中的某个字段
  • OpenHarmony平台驱动使用(二),CLOCK
  • 我们是如何为 ES|QL 重建自动补全功能的
  • Keepalived 配置 VIP 的核心步骤
  • 如何使用 Redis 快速实现排行榜?
  • MATLAB在逐渐被Python淘汰吗
  • Git 使用规范
  • 代码随想录第43天:图论4(最小生成树、拓扑排序)
  • AI智能体|扣子(Coze)搭建【自动生成超高质量PPT】工作流
  • list.sort(*, key=None, reverse=False)的两个问题
  • 文档处理的相关工具
  • java基础(面向对象进阶高级)内部类
  • 使用Python,OpenCV,Tesseract-OCR对自己的运动数据图片进行识别及分析,并使用Matplotlib绘制配速图出来
  • 小白的进阶之路系列之七----人工智能从初步到精通pytorch自动微分优化以及载入和保存模型
  • 创建型模式之 Builder (生成器)
  • 智能物资出入库管控系统
  • 鸿蒙OSUniApp 制作倒计时与提醒功能#三方框架 #Uniapp
  • 深入剖析网络协议:七层协议与四层协议详解
  • 机器学习-线性回归基础
  • 自学嵌入式 day 25 - 系统编程 标准io 缓冲区 文件io