Java HTML转PDF 实战解决方案

17 篇文章 0 订阅
6 篇文章 0 订阅

HTML转PDF 实战解决方案

首先排除收费的,然后能支持高度自定义。主要需求就是在电商中订单面单打印插件中支持上打印HTML,而本地打印机是不能直接打印HTML的,我在网上找了很多解决方案,列举如下:

iText

iText是操作PDF常用的工具,这个自定义的话需要自己设计freeMark文档,我们后端在处理PDF时有用到,这个也有好久没维护了,对样式支持不是太友好

wkhtmltopdf

wkhtmltopdf是我通过搜索出来大多数推荐的解决方案,效率比较好,但成出来不知道是因为样式缺少还是没有字体,导致出来的有一部分成像出来排版错乱,最终还是放弃了它

Chromium

Chromium 的exe也是支持静默打印成pdf的,但是不支持自定义,成像效果是非常好的,为啥要说它呢,因为它使我产生了希望,我在GitHub上看到了一个go写的基于Chromium内核的HTML转PDF工具,既然他们能实现,那我也能实现吧,反复查看Chromium 开源API。终究还是没试出来

CEF/JCEF

CEF是Chromium 内核源码,可以嵌入到一些应用程序中,但是我是用在Java上,所以找到了JCEF,这相当于是应用程序内嵌一个浏览器,支持HTML转PDF高度自定义化,优点就是完美还原了HTML,缺点就是效率较慢,使用内存较大。有较好的预算可以采用这个方案

遇到的问题就是JCEF缺少文档,然后就是怎么不将网页显示出来转换成PDF

我目前是采用了wkhtmltopdf外加JECF这两个一起进行的,但是产品说把平台HTML面单接口全改成PDF的,呜呜呜呜

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值