Javascript-HTML to PDF
2016-06-23
某个作死的导出 PDF 的业务需求,要求兼容 IE 和 Chrome
- jspdf.js1
- V1.0.272
- 此版本支持 IE10 IE10+ Chrome
- 最新版本可能出现 IE10 兼容问题
一开始以为只是简单调用一套代码就行,后来发现根据不同浏览器还需要不同的适配
var pdf = new jsPDF('p', 'mm'); pdf.addHTML(document.body, function() { pdf.output('datauri'); });
var pdf = new jsPDF('p', 'mm'); pdf.addHTML(document.body, function() { pdf.save('output.pdf'); });
暂时没有找到 IE9 可以进行导出 PDF 的方法,考虑可以使用截图图片进行替代
截图需要另外一个库:html2canvas.js2,注意必须使用版本为V0.4.1才能做到 IE9 兼容
试过几种自动下载图片的办法,最终发现使用<a>
然后 JS 点击完全没有效果,也有可能和特殊的运行环境相关,最终还是决定显示一张图然后手动下载
html2canvas($("body"), { onrendered: function(canvas) { var url = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream"); var img = document.createElement('img'); img.src = url; img.download = 'output.jpg'; $("body").append(img); } });
特么这年头还有人用 IE8 的啊?
在 IE8 总是出现缺少部分方法的兼容错误……应该也可以使用特定的 pollyfill 来解决……
关于本文
文章标题 | Javascript-HTML to PDF |
发布日期 | 2016-06-23 |
文章分类 | Tech |
相关标签 | #JS |
留言板
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER
PLACE_HOLDER