首页 > 其他分享 >pdf的踩坑记录

pdf的踩坑记录

时间:2022-10-25 17:45:25浏览次数:57  
标签:vue dist 记录 页数 pdf pdfjs 卡顿

1. 开始使用vue-pdf这个插件, 发现它只适用于页码小的文件, 文件大了容易卡顿奔溃 (建议小文件使用,比较方便)

2. 然后做优化, 在包裹pdf显示外层div添加滚动事件, 初始渲染的页数不要显示总页数,可以自己定义设置想要的页数如初始显示10页,显示少一些卡顿有效缓解, 监听滚动做分页功能。(这种方式在50页以内还行,再大了有些配置低点的机型扛不住,也会卡顿)

3. 因为文件上白页,没办法选择切换插件,选了pdfjs-dist, 这个是没有封装的,自己进行处理, 解决了上面的问题

4. 这里遇到的几个问题,

4.1 vue-pdf和pdfjs-dist引入会出现盖章不显示问题,解决方案:需注释依赖中的部分代码

if (data.fieldType === "Sig") {
  // data.fieldValue = null;
  // this.setFlags(_util.AnnotationFlag.HIDDEN);
}

4.2 vue-fdf 出现二次回显,填充内容不显示问题

//node_modules/vue-pdf/CMapReaderFactory.js
// .then 后面添加  加载完语言文件后清除缓存
delete require.cache[require.resolve('./buffer-loader!pdfjs-dist/cmaps/'+query.name+'.bcmap')]

4.3 部分文字不显示的问题

引入CMapReaderFactory

4.4 移动端放大缩小问题

这里引入了腾讯手势库 AlloyFinger

标签:vue,dist,记录,页数,pdf,pdfjs,卡顿
From: https://www.cnblogs.com/xm0328/p/16825682.html

相关文章

  • 记录--从原理分析vue开发环境搭建的全部过程
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助平时大家开发vue项目的时候,相信大部分人都是使用vue-cli脚手架生成的项目架构,然后npmruninstall安装......
  • 记录下LRU算法的使用
    原理可以参考下这个:https://blog.csdn.net/hellozhxy/article/details/119757733 最近在项目上,也使用到了这个LRU,,我们也来解析下这个LRU的实现 我们自己创建一......
  • 【算法学习】完全背包问题公式记录
    朴素f[i][j]=max(f[i-1][j],f[i-1][j-v]+w,f[i-1][j-2v]+2w,...)f[i][j-v]=max(f[i-1][j-v],f[i-1][j-2v]+w,...)=>f[i][j]=max......
  • 搭建github个人博客——记录
    目的看到网上许多人的都在搭建自己在gayhub上面的花里胡哨的blog,兴致来了,摸鱼不如自己搭一个这个!过程在跟着一个教程,是通过git+node+(里面的hexo)。baby级教程到了其......
  • 使用PdfSharp从模板生成Pdf文件
    ​最近在做一个生成文档的需求。通过先制作一个包含各字段占位符的文档模板,导入这个模板并填写内容替换掉占位符,再输出成最终文件。由于版式固定,安全性更好,业务上常用Pdf......
  • 将python2.7项目转为Python3问题记录
    将一个Python2.7开发的测试工具项目转化为Python3。工具:Python自带的2to3.py将所有.py文件进行转化,生成的python3文件为原文件名,python2文件在后面加.bak 1.代码如:b......
  • 【记录】在ubantu系统中安装显卡驱动
    我们在跑模型的时候,需要用GPU并行加速,需要用显卡跑,这就需要安装显卡驱动。参考方法,视频:https://www.bilibili.com/video/BV16Y411M7SC/?spm_id_from=333.788显卡驱动便捷......
  • 记录-Chrome浏览器翻译无法使用解决
    之前谷歌浏览器无法使用,修改了hosts文件,在hosts文件中配置了:203.208.40.66translate.google.com203.208.40.66translate.googleapis.com但最近又无法使用了......
  • 记录一下docker的mysql容器exited(1)无法正常启动的解决思路
    一开始应该查看日志,该命令为:dockerlogs容器id查看到报错[ERROR][Entrypoint]:DatabaseisuninitializedandpasswordoptionisnotspecifiedYouneedtospecify......
  • Python学习记录(六):关键字
    打印Python语言的关键字,我们代码中的变量不能与内置的关键字相同>>>importkeyword>>>print(keyword.kwlist)['False','None','True','__peg_parser__','and','a......