项目场景:

需要做一个在线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 - 博客园,但是人家是用来解决分页问题的,我改了之后清晰度有了提高

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

pdf.js清晰度提升办法相关推荐

  1. html显示当前页码,使用pdf.js获取当前页码的笨办法

    1.使用模板(viewer.html)的方式加载pdf文件 页面: js: function initPdf() { var iframe = $('#pdfBox'); var fileUrl = ...

  2. 使用 pdf.js 查看发票时,显示不了台头和印章的解决办法

    系统中使用了 pdf.js 来查看 PDF 文件,发现在查看 电子发票时, 缺失了很多信息, 刚开始以为是 PDF.JS 的 BUG, 后来调试发现只需要在 IIS 里添加一个 bcmap 后缀的 m ...

  3. 不使用前端的pdf.js,通过pdfbox转换pdf为图片,拼接成html实现pdf前端预览

    一般情况,pdf类型的文件在前端预览,都是通过前端插件,或者获取源文件浏览器自带的工具预览,由于项目中,是前后端分离,前端不想使用pdf.js类的插件,预览的要求又是只能看不能下载,所以只能另外想别的 ...

  4. pdf.js使用方法

    应各位博友要求已经取消付费 2022.3.20 项目中 显示 pdf 的功能,浏览过不少的技术帖,都不太理想,花了点时间研究了下pdf.js正确使用方法,总结下:1.防止自己忘记 2.工作留有痕迹 3 ...

  5. html如何跳转到pdf页面,使用PDF.js在网页显示pdf文件并跳转到指定页码

    最近在做一个土地档案管理系统 ,有个需求是在前端网页展示土地档案扫描件的pdf文件,并根据目录跳转到指定页. 第一个问题,显示pdf文件.引入pdf.js.然后设定html地址,地址为http://l ...

  6. 利用pdf.js开发嵌入pdf显示,以及利用jquery-ui左右分栏显示

    原来考虑用pdf.js的viewer.html页面,但怎么用都不方便.因此直接用pdf.js在左侧连续显示pdf所有内容,右侧显示其它相关内容,并且左右宽度可以任意拖动,最终实现效果如图: 代码: & ...

  7. pdf.js插件使用记录,在线打开pdf

    pdf.js插件使用记录,在线打开pdf 原文:pdf.js插件使用记录,在线打开pdf 天记录一个js库:pdf.js.主要是实现在线打开pdf功能.因为项目需求需要能在线查看pdf文档,所以就研究 ...

  8. 关于使用pdf.js预览pdf的一些问题

    手机应用中pdf展示使用非常广泛, 一些pdf由于特殊的内容比如文字.电子签章必须使用复杂的解析器来解析,当使用MultiPdf 这个库加载,会使得包变得非常庞大, 这里我们考虑使用pdf.js 来解 ...

  9. 文件被损坏 java_使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误

    首先大概说明一下问题出现的背景:我用PDF.JS实现文件在线预览,参考网上的办法,在jsp文件中使用 ?file=" width="1024" height=" ...

最新文章

  1. twofive(记忆搜索)
  2. php字符串数组访问,php – 按字符串键x访问数组,其中x是“123”
  3. 两个矩阵是否相交的算法_收藏 | 计算机、数学、运筹学等领域的32个重要算法...
  4. java web 程序---购物车项目内容:
  5. java 栈 队列 接口_Java队列接口
  6. 有益的CountDownLatch和棘手的Java死锁
  7. 源码安装zabbix遇到的报错集锦
  8. java 8 biconsumcr_java8新特性
  9. springmvc ajaxjson处理
  10. Linux第九周作业
  11. 计算机网络—数据链路层 网络层 传输层 应用层
  12. HTML网页设计结课作业——19张精美网页!
  13. UAT测试后上线出现问题的引起的思考
  14. 服务器搬迁方案_IT机房搬迁 实施方案
  15. 华为一碰传多屏协同(非华为电脑版)最新版安装教程【华为电脑管家11】【SN码修复】【NFC卡贴修复】
  16. 什么是弹性公网IP?
  17. UEFI/GPT分区
  18. PLC有几种编程语言?各有什么特点?
  19. mysql临时表在哪找_MySQL 中的临时表
  20. denoted(denoted by)

热门文章

  1. 使用charls抓取安卓模拟器的网络请求
  2. amd cpu x570 开启docker desktop
  3. 电脑循环出题并给出分数
  4. 【洛谷新手村解题报告三 字符串/递归前】C++语言,一题多解,思路和WA反思
  5. tcpdump 参数及使用简析
  6. 操作型数据库(OLTP) VS 分析型数据库(OLAP)
  7. MySQL 数据库备份(二)(增量备份与恢复)
  8. C++建造者模式(4)
  9. 高效的网络传输协议设计protobuf
  10. 国外科技媒体推荐点评