jspdf与zip.js结合。解决转pdf文件清晰度与文件过大的问题

一、问题产生:使用jspdf转换html到pdf清晰度不够

本人使用jspdf+html2canvas 清晰度达不到要求。采用放大画板,增加清晰度。但是与此同时生成的pdf文件过大,导致客户不满意。偶然发现使用压缩文件压缩后,一个十几M的文件可以压缩到100k不到。于是想到使用zip.js,下载的时候直接压缩为zip.既能提高效率,也能减少服务器存储压力

二、问题解决:在jspdf.debug.js源代码中下载部分集成zip.js

zip.js下载地址
附我参考的demo地址
zip.js demo代码写的比较复杂。我只需要其中最关键的 将文件转化为zip的代码。

  1. 将zip.js中的 zip.js zip-ext.js z-worker.js放入项目的lib包目录下并引入。在这里插入图片描述

  2. 将deflate.js 和 z-worker.js放入项目入口html同级的目录下,这么做是因为zip.js中请求了该2个文件,找不到会报错;

  3. 修改js.pdf.debug.js第1131行左右,注释原有代码。添加如下代码。由于兼容性问题 ie可以不通过创建虚拟按钮的情况直接实现下载。为了兼容其他浏览器。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值