基于PDF和JSPDF实现调整pdf文件大小功能

本文介绍了如何在不依赖外部工具或在线服务的情况下,通过JavaScript实现PDF文件大小的压缩。首先利用pdf.js展示PDF并调整页面比例,然后使用JSPDF将canvas转换为PDF,通过调整canvas尺寸实现PDF压缩。在实现过程中遇到了预览限制和延迟加载的问题,通过修改viewer.js参数和异步翻页解决,最终成功生成压缩后的PDF文件。
摘要由CSDN通过智能技术生成

        前些日子由于工作需要需要将pdf文件变小,市面上不少软件都有这个功能,但都不属于免费功能。此外部分网站提供免费的在线压缩功能,但是考虑到文件比较重要,使用在线压缩存在文件泄漏风险,所以萌发了自己写一个基于html页面压缩pdf大小页面的念头。

        在不借助软件和工具的情况下,我能想到压缩方案是将pdf每一页截图然后通过调整图片像素的方法,来实现pdf压缩,而该过程也是我后面实现的思路。网上搜索场景的pdf压缩方案是基于jspdf.js将canvas转成图片生成pdf文件,通过调整生成图片时候的尺寸来实现pdf文件大小调整的功能。

        将整个任务分解,可以分为两个部分:

                1.将pdf展示在页面上;

                2.将页面上展示的pdf压缩大小重新生成pdf;

        通过一番搜索,第一步选定借助pdf.js来展示页面,由于本人前端水平有限,最终页面整个采用pdfjs在github上的模板(Getting Started (mozilla.github.io))。该样例页面提供了pdf在线预览、打印、下载等功能,同时支持在线预览调整页面比例,完美的匹配了第一步的要求,由于浏览器支持问题,我选择的是pdfjs-2.10.377-legacy-dist版本。

        第二步是在页面中引入jspdf,来实现将canvas标签转化为pdf文件。由于jspdf在github上的最新源码ES6模块部署,这

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值