当前位置:网站首页 > Java教程 > 正文

java html教程 pdf



在工作当中,遇到了需要把HTML页面转化为PDF文档,有很多中实现,如下进行一个对比,大家个借鉴去进行使用

于Windows平台进行测试:

此博客仅基于IText和基于WKHtmlToPdf来介绍并使用,均为博主亲测

其他两个可自行研究哈

iText 是业界使用最为广泛的创建 PDF 的,从 iText 5 升级到 iText 7 后,功能模块的划分更加清晰,两者在使用上,有较为明显的区别。

此处就不进行区别的赘述了,直接上代码,本次使用的是iText7

注意两个依赖的版本对应,进入html2pdf的pom文件就能看到itext的版本,font-asian的版本最低也要是html2pdf中itext7的版本。

导出pdf一般是需要水印和页码的,我们只要实现com.itextpdf.kernel.events.IEventHandler接口就可以了

水印

水印代码

页码

页码代码
转换工具类
测试代码
  1. 页面中不能出现html的特殊字符标记,如 等(代码中已经处理,所有都替换为空)可忽略
  2. 页面中的图片路径,必须是在项目根路径后面的所有地址(相对路径)例如:
  3. 页面中的标签要符合规范,必须都具有结束标签等

展示:

HTML

PDF

wkhtmltopdf是一个用webkit网页渲染引擎开发的用来将html转成 pdf的工具,可跟多种脚本语言进行集成来转换文档,有windows、linux等平台版本。

Wkhtmltopdf可直接把浏览器中浏览的网页转换成一个pdf,他是一个把html页面转换成pdf的软件(需要安装在服务器上)。使用时可通过java代码调用cmd指令完成网页转换为pdf的功能。

下载wkhtmltopdf官网地址:https://wkhtmltopdf.org/downloads.html

功能测试:

在安装目录 bin 执行如下命令生成 PDF

效果图:

为了方便使用:可自行配置全局环境变量哈

注意事项:

如果是转换本地HTML页面,可能会出现图片禁止访问类型的错误,可加上以下命令进行转换,这是因为wkhtmltopdf升级版本之后默认禁止了访问

整合后命令:

安装

配置环境变量

在最后一行加 export PATH=$DIR/wkhtmltox/bin:$PATH 保存退出、

功能测试

运行 wkhtmltopdf

报:以下错误

报wkhtmltopdf: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory这个错,请运行 apt-get/yum install libXrender*

运行 wkhtmltopdf 报wkhtmltopdf: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory这个错,请运行apt-get/yum install libfontconfig*

运行 wkhtmltopdf 报wkhtmltopdf: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory这个错,请运行 apt-get/yum install libXext*

总的来说就是缺少依赖,下载安装依赖

优点:

支持中文、图片、CSS等

缺点:

有时对于html文件的转化可能比较慢,对于url的转化速度较快。存在失真情况

wkhtmltopdf工具安装bin地址
转换工具类
线程执行类

将文档从一种格式转换为另一种格式是Spire.Doc的主要功能之一。这种转换只不过是加载和保存操作的组合。因此,使用Spire.DOC可以将文档从任何受支持的加载格式转换为任何受支持的保存格式。

注意:spire.doc分为商业版和免费版,免费版只支持转换前3页,本次示例采用免费版演示

Maven仓库路径

引入依赖

spire转换工具类

至此就完结啦,可自行根据需求进行选择哦,测试效果和上面截图一样,此处就不进行展示啦

  • 上一篇: java教程完整版
  • 下一篇: Java simplexml教程
  • 版权声明


    相关文章:

  • java教程完整版2025-03-21 11:10:04
  • Java EE实用教程2025-03-21 11:10:04
  • 冒泡java教程2025-03-21 11:10:04
  • java的chm教程2025-03-21 11:10:04
  • java http教程2025-03-21 11:10:04
  • Java simplexml教程2025-03-21 11:10:04
  • 阿里云java环境配置教程2025-03-21 11:10:04
  • java盒子教程视频2025-03-21 11:10:04
  • java 手机app开发教程2025-03-21 11:10:04
  • JAVA安装教程舞蹈2025-03-21 11:10:04