尝试过用 ifame 引入pdf 但是获取不到滚动条 embed 引入也不获取不到

尝试用过 vue-pdf 但还是获取不到滚动条

尝试用 PDFObject. 生成embed 也是获取不到 
附上参考链接
https://blog.csdn.net/liuyaqi1993/article/details/77822946?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

下面是一些可预览下载看到的效果 如果使用注意版本

在线预览   https://daishengloda.github.io/review/dist/index.html#/pdfBasic

下载预览 不同上,不是同一个 https://gitee.com/liuyaqi/PDFViewer

PDF.js

https://github.com/mozilla/pdf.js

demo https://mozilla.github.io/pdf.js/web/viewer.html

参考文章
 https://www.jianshu.com/p/c086102f3564
https://www.jianshu.com/p/9cd4840f9323
https://www.cnblogs.com/tomofagain/p/10936658.html
http://www.sjzphp.com/webdis/pdfjs_1068.html

https://github.com/rkusa/pdfjs

最后vue 引入pdfjs-dist 生成canvas 显示 可以获取到了

安装依赖 npm i pdfjs-dist

"pdfjs": "^2.4.1","pdfjs-dist": "^2.4.456",

我的提示还安装了一个 "module": "^1.2.5",

这里如果是只引入了 import PDFJS from 'pdfjs-dist' 就会报错  PDFJS.GlobalWorkerOptions.workerSrc 需要设置一下,但是我设置了不生效报错找不到 设置成下面的就没问题 参考链接
https://segmentfault.com/q/1010000013646062

我本地引入pdf.worker.js 但是文件过大vue 加载不动 更改设置成下面的就没问题

如果有报错  Error: No PDFJS.GlobalWorkerOptions.workerSrc specified 可参考下面链接
https://www.aciuz.com/tech/PDF-js-workerSrc.html

如有报错 Uncaught SyntaxError: Unexpected token '<'  估计是 pdf.worker.js文件没有找到 设置成下面的就没问题
如有报错 'WorkerMessageHandler' of undefined 看pdf.worker.js文件有没有成功引入,我引入成功以后就没有报错了
如有报错 可参考下面链接
https://blog.csdn.net/houlai_houlai/article/details/86536316


import PDFJS from 'pdfjs-dist/webpack'

html

<div id="pdfBox"></div>

js

this.pdfCanvas(this.pdfUrl, 'pdfBox'); 
// pdf canvas 生成插件函数 pdfCanvas(pdf, nameId){console.log('293pdf 地址', pdf)document.getElementById(nameId).innerHTML = '';// this.loading = truePDFJS.getDocument(pdf).promise.then(pdf => {console.log(149, pdf)var numPages = pdf.numPages;var start = 1;this.renderPageAsync(pdf, numPages, start, nameId);}).catch(error => {console.log(155, error)})},async renderPageAsync(pdf, numPages, current, nameId){console.log(257, "renderPage async");for(let i=1; i<=numPages; i++){console.log(280, i)// pagelet page = await pdf.getPage(i);let scale = 1.5;console.log(284, page.getViewport())let viewport = page.getViewport({ scale: scale});// Prepare canvas using PDF page dimensions.let canvas = document.createElement("canvas");let context = canvas.getContext('2d');document.getElementById(nameId).appendChild(canvas);// document.body.appendChild(canvas);canvas.height = viewport.height;canvas.width = viewport.width;// Render PDF page into canvas context.let renderContext = {canvasContext: context,viewport: viewport};page.render(renderContext);}// this.loading = falseconsole.log(document.getElementById('pdfBox').scrollHeight)},

vue pdf canvas 展示 pdfjs pdf.worker.js相关推荐

  1. 前端vue项目(使用pdf.js) pdf展示及pdf工具栏放大缩小功能实现

    前端vue项目(使用pdf.js) pdf展示及pdf工具栏放大缩小功能实现 1.vue项目pdf展示 2.pdf工具栏放大缩小功能 文章目录 前端vue项目(使用pdf.js) pdf展示及pdf工 ...

  2. vue使用canvas渲染pdf

    1.原生方法 <div><div class="bottom" style="position: fixed;right: 0">< ...

  3. VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索,在iframe中获取选中文字,监听鼠标事件,右键菜单

    一.VUE预览PDF文件并利用pdf.js获取鼠标选中的文字和搜索 需求实现:vue实现预览pdf文件,获取到鼠标选中的文字数据.调用pdf.js自带的搜索方法实现搜索功能(后期可以调用该接口满足其他 ...

  4. php+预览和下载pdf文件,vue实现在线预览pdf文件和下载(pdf.js)

    最近做项目遇到在线预览和下载pdf文件,试了多种pdf插件,例如jquery.media.js(ie无法直接浏览) 最后选择了pdf.js插件(兼容ie10及以上.谷歌.安卓,苹果) 强烈推荐改插件, ...

  5. vue项目中预览pdf文件

    一.利用浏览器自带的预览pdf // [pdfUrl] 获取pdf地址 eg:http://mozilla.github.io/pdf.js/web/compressed.tracemonkey-pl ...

  6. react集成react-pdf获取文件流预览下载pdf,展示电子签章

    1.下载依赖包 代码如下(示例): npm install react-pdf 2.引入依赖包 代码如下(示例): import { Document, Page } from 'react-pdf' ...

  7. vue 在线访问word,excel,pdf 文件以及打印

    git 项目代码 一.pdf 1. vue-pdf 安装 npm i --save vue-pdf 语法 在组件种使用import pdf from 'vue-pdf'pdf.createLoadin ...

  8. vue 实现手机端显示pdf

    废话不多说直接上代码 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  9. Vue中 前端实现生成 PDF 并下载

    思路: 通过 html2canvas 将 HTML 页面转换成图片,然后再通过 jspdf 将图片的 base64 生成为 pdf 文件. 安装及引入 // 将页面 html 转换成图片 npm in ...

最新文章

  1. 骨骼捏脸功能的实现方法
  2. 创新实训团队记录:为BR-MTC问题设计一个近似算法
  3. c3p0 高并发mysql 连接sleep情况
  4. 不知道输入何时停止_知道何时停止
  5. mongodb查询文件服务器的数据,服务器端知识库mongodb基础篇
  6. LeetCode刷题(40)--Search a 2D Matrix
  7. Android开发笔记(八十六)几个特殊的类
  8. 面试遇到职场PUA,只能说兄弟你还嫩了点
  9. linux系统安装本地r包,linux环境下安装R包DESeq2的报错以及解决方法
  10. Mysql索引会失效的几种情况
  11. [CSS揭秘]不规则投影
  12. 在iphone机型上,input实时中文搜索时,拼音会不断触发onchange的解决方案
  13. 去八达岭看红叶(攻略)
  14. 读jquery 权威指南[3]-动画
  15. 【oracle】查询===Oracle数据库 子查询(嵌套查询)简单例子
  16. 数值分析matlab最小二乘法,数值分析及其MATLAB实验(第2版)
  17. 大学生计算机PHP实训报告,大学生计算机实训心得体会
  18. linux添加理由,Linux 首次引入 nftables,你可能会喜欢 nftables 的理由
  19. 【学习笔记】stm32+ESP8266+阿里云+云智能APP
  20. 基恩士pda开发指南

热门文章

  1. 利用计算机创作小说,小说写作有几个套路? 计算机答案:6个
  2. [附源码]计算机毕业设计JAVA壹家吃货店网站
  3. 跟随鼠标转动的眼球效果特效,鼠标跟随运动
  4. 神经系统生物结构示意图,神经系统的组成概念图
  5. Python JPG转DCM,DCM转JPG,DCM转NRRD,NRRD转NII
  6. 使用virsh命令创建KVM虚拟机快照
  7. 软件工程第三次作业 结对编程
  8. SIGGRAPH 2020大会上的Unity:在线汇集创作者社区
  9. 如何在跳槽前客观地评估自己的身价?
  10. 图片太大?不符合上传大小?PS帮你搞定!