版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、html转换为pdf案例的一些总结这篇文章主要介绍了关于html转换为pdf的案例,wkhtmltopdf测试 phantomjs测试 itext和flying sauser等一些学问点都做了具体解释,详细操作步骤大家可查看下文的具体讲解,感爱好的小伙伴们可以参考一下。 因为工作所需,最近花时光讨论了html转换为pdf的功能。html转换为pdf的关键技术是如何处理网页中复杂的css样式,通过在网上收集资料,发觉目前html 转换为pdf的解决计划主要分为三类:客户端模式:前后台调用客户端程序,利用客户端程序的功能完成pdf文件转换。本次测试工具有:wkhtmltopdf和phantomjs
2、。java jar包解析类模式:java代码解析css样式,翻译html文件为pdf文件。本次测试类有:itext,flying sauser,pd4ml。js 前端解析模式:js前端解析html文件为pdf文件,本次测试案例有:html2canvas。本次针对网上介绍的计划,结合实际项目的需求,做一一测试,在性能和功能方面做如下分析。1.测试页面介绍通过查看各个转换案例在网上的介绍,容易的html样式,普通的表格样式在做pdf文件转换时,以上的计划均支持。但考虑到实际业务的需要,本次测试特意用到了bootstrap (v 3.3.6)的css样式,同时页面也应用了css3的新特性。基于这样的
3、新特性编写一个静态的html页面,html页面在扫瞄器中的展示效果如下: 2.wkhtmltopdf测试wkhtmltopdf是一个用法webkit网页渲染引擎开发的用来将html转成 pdf的工具,可以跟多种脚本语言举行集成来转换文档。技术特点:wkhtmltopdf可以挺直把扫瞄器中扫瞄的网页转换成一个pdf,他是一个把html页面转换成pdf的软件(需要安装在服务器上)。用法时可通过java代码调用cmd命令完成网页转换为pdf的功能。功能测试:挺直在cmd里输入测试命令,可查看处理进度。第一个参数:wkhtmltopdf.exe所在的路径其次个参数:需要转换为pdf的html页面第三个
4、参数:pdf文件路径及文件名页面导出效果如下: 测试解释:通过测试发觉,wkhtmltopdf对bootstap的css样式整体支持较好。对css3的新特性如圆形样式支持行不好。部分页面样式会失效。对于图表展示,eachart图表导出程序会报错,不支持。不过echart有图表转换为的接口,可通过猎取地址的方式导出到pdf中。3.phantomjs测试phantomjs是一个基于webkit内核的无头扫瞄器,即没有ui界面,即它是一个扫瞄器,只是其内的点击、翻页等人为相关操作需要程序设计实现。它提供javascript api接口,即通过编写js程序可以挺直与webkit内核交互,在此之上可以结
5、合java语言等,通过java调用js等相关操作,从而解决了以前c/c+才干比较好的基于webkit开发优质采集器的限制。它同时提供windows、linux、mac等不同os的安装用法包,也就是说可以在不同平台上二次开发采集项目或是自动项目测试等工作。phantomjs可做网页分析,功能无数,本次仅调用网页的截图功能。在cmd中的测试如下: 测试页面导出效果如下: 测试解释:通过测试发觉,phantomjs对bootstap的样式支持较好。对css3的新特性如圆形样式支持行不好。部分页面样式会失效。对于echart图表展示,也可挺直导出。效果如下: 3.itext和flying sauser
6、itext实现html2pdf,速度快,纠错能力差,支持中文(要求html用法unicode编码),但中支持一种中文字体,开源。flying sauser实现html2pdf,纠错能力差,支持多种中文字体(部分样式不能识别),开源。技术特点:基于java编程将html的css样式做解析处理,目前仅对较容易的页面和样式支持。对于css3的样式和关联复杂的css样式兼容性极差。当页面内容较长时,处理时光慢。测试结果:本试验的测试页面无法出来,一般的测试页面效果如下: 测试解释:通过测试发觉,itext和flying sauser这两个开源项目对css3的兼容性基本不可,通过查阅资料,发觉这种技术比
7、较陈旧,这个开源项目现在也没有更新和维护了。对于容易表格,统计数据的导出,更新的技术有bootstrap table,easyui datagrid表格导出。网上介绍的这种计划不建议用法。4.pd4ml测试pd4ml是纯java的类库,用法html、css作为页面布局和内容定义格式来生成pdf文档的强大工具,可以简化终于用户生成pdf的工作。该软件的优点是:支持的html标签、css属性较全,转换失真比较小,可以用法html+css实现精确的布局控制。对网页文件标签、css语法错误的容错性比较好。对不用额外的控制,就支持的转化输出。该软件的缺点是:不开源,最新的demo版本,下载测试以后,发觉
8、不支持中文转换。必需购买商业版本才可以。(这里很坑,测试乱码问题通不过,后面发觉是原来就不支持)。破解后的一些旧版本可以解决乱码问题,但是支持的css样式没有新版本的全。测试结果: 测试解释:新版本的中文乱码,但是支持部分css样式。老版本的破译后,界面的样式兼容性差,对bootsrtap的支持性低,就基本的可以出一个数据,展示没有问题。考虑到是收费软件,并且性能也不够完美,对于一般页面可采纳模板导出或其他的工具导出,不建议用法。5.html2canvas测试html2canvas是一个相当不错的javascript类库,它用法了html5和css3的一些新功能特性,实现了在客户端对网页举行截
9、图的功 能。html2canvas通过猎取页面的dom和元素的样式信息,并将其渲染成canvas,从而实现给页面截图的功能。它不需要来自服务器任何渲染,整张都是在客户端扫瞄器创建。当扫瞄器不支持canvas时,将采纳flashcanvas或 explorercanvas技术代替实现。以下扫瞄器能够很好的支持该脚本:firefox 3.5+, google chrome, opera新的版本, ie9以上的扫瞄器。由于每个扫瞄器渲染页面的方式都不尽相同,所以生成的也不太一样。虽然它目前还是处理开发阶段,但还是很值得期盼的。这个插件依靠于jquery插件,建议用法最新版的。不支持跨域不能在扫瞄器插
10、件中用法部分扫瞄器上不支持svg不支持flash不支持ifream(可修改js原始代码,支持ifream)本次用法html2canvas做测试时,发觉无数项目页面可正常截图,包括echart图表。仅对少量css3的新特性不支持。在截图效果上面较好。但是在测试应用时,发觉了一个致命的问题,当页面模块调用html2canvas截图后,发觉本来页面的部分css骤然失效。跟踪分析后,发觉是html2canvas的js函数处理它不能识别的css样式。特殊是对躲藏和显示的模块,支持不友好。页面截图效果如下:但是原有页面的css失效,页面浮现异样,躲藏的部分样式,显示的样式展示混乱。测试解释:通过测试发觉,
11、html2canvas对bootstap的样式支持较好。对css3的新特性如圆形样式支持行不好。它的主要优点是轻前端,对于转变原有页面的样式问题,可先导出后,重新刷新一次页面。6.总结通过对以上案例的测试,网上介绍的常用html转换为pdf的办法,大多数就是容易的html转换可用,但是在实际应用中,还是存在诸多问题,难以应用。通过对这些办法的实现原理分析,可得出以下结论:html网页完整转换为pdf,全部的计划均有不足。若只是部分表单页面,html样式尽量不采纳css3的属性,可用客户端模式和html2canvas处理。html前端样式进展快,css3新特性效果好,css定义了新的规章,语法。itext和flying sauser这样的java转换类根本兼容不了这些变幻,由于无法准时写出转换的函数,并且这些开源项目是较老的技术,后期的开源团队已经停止维护和更新了。pd4ml本质也是java处理css的样式转换,他是商业软件,在兼容css3方面有团队支持,相对itext和flying sauser在性能和功能方面都更强大。但对少部分css样式也支持不好。并且中文乱码问题解决也不便。针对客户端扫瞄器内核模式,phantomj
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级上册语文教学工作计划
- 会计实训心得体会 15篇
- 上海市黄浦区2026届中考英语模拟预测试卷含答案
- 免疫诊断相关行业投资方案范本
- 《电路基础》课程课程标准
- 2026 小儿自闭症情绪疏导课件
- 云计算网络配置优化方法解析
- 网络延迟优化方案详解
- 湖南大学《财务管理》课件-第1章财务管理总论
- 2025年七彩神仙鱼增色粮
- 第12课《台阶》课件统编版语文七年级下册
- GB/T 46075.5-2025电子束焊机验收检验第5部分:跳动精度的测量
- 钻探施工合同模板及注意事项
- 农耕文化考试题目及答案
- 4我的伊豆完整版本
- 2025年低压电工理论考试1000题(附答案)
- 福建省泉州市泉州一中2024-2025学年初一新生入学考试试卷(含答案)
- 四川省成都市2023级高中毕业班摸底测试(成都零诊)化学试题及答案
- 在非到发线上接发列车站内无空闲线路时的接发列车39课件
- 2024-2025学年湖南师大附中高二(下)期中数学试卷-20250424180151
- 老年人多重用药评估与管理中国专家共识(2024)解读
评论
0/150
提交评论