pdf.js清晰度提升办法

项目场景:

需要做一个在线pdf阅读,但是上传的pdf文件预览不清晰,放大之后高糊,所以找一些提升放大后清晰度提升的办法。


问题描述

直接用了开源的pdfjs插件,获取地址都在gitup上

跨域等问题解决后,在手机端点开pdf在线预览,发现跟模拟器上不一样,谷歌模拟器上比较清晰,手机上高糊,放大后看不清,没办法,只能为此努力了。


原因分析:

pdf文件上的页面文字太小了,只能在放大的时候重新渲染pdf,


解决方案:

1.优先放大scale的参数,一般把1变为2,如果不够可以继续变大,大部分就能解决

2.对canvas画布进行缩放 ,查了下攻略,说是修改devicePixelRatio这个参数,将它扩大

3.DISABLE_AUTO_FETCH_LOADING_BAR_TIMEOUT的参数,将它扩大,原理有兴趣的可以了解一下

4.disableAutoFetch、disableStream的参数改为true

以上都是再viewer.js中修改

5.在build/pdf.js文件,寻找DEFAULT_RANGE_CHUNK_SIZE配置项,并修改为65536*16

弄完之后,比刚开始好些了,有些pdf放大之后可以看清了,有些还是不行,希望各位找到好办法后能分享出来

参考了许多文章,4.5条参考了001-pdfjs实现PDF预览 - Frank9098 - 博客园,但是人家是用来解决分页问题的,我改了之后清晰度有了提高

小白创造,有问题请多指教

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值