博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html5 打开pdf文件
阅读量:5885 次
发布时间:2019-06-19

本文共 1932 字,大约阅读时间需要 6 分钟。

1. 主要采用了pdf.js插件,有两种不同的展示形式

方式1: iframe方式展示 该方式需要在static文件夹下引入pdfjs的相关文件,具体参照

//主要代码复制代码

方式2: canvas形式展示 这种方式需要在package.json中引入pdf相关依赖

// 主要代码import PDFJS from 'pdfjs-dist'export default {  data () {    return {      title: '',      pdfDoc: null,      loadding: false,      pages: 0    }  },  methods: {    renderPage (num) {      let _this = this      this.pdfDoc.getPage(num).then(function (page) {        let canvas = document.getElementById('the-canvas' + num)        let ctx = canvas.getContext('2d')        let dpr = window.devicePixelRatio || 1        let bsr = ctx.webkitBackingStorePixelRatio ||                  ctx.mozBackingStorePixelRatio ||                  ctx.msBackingStorePixelRatio ||                  ctx.oBackingStorePixelRatio ||                  ctx.backingStorePixelRatio || 1        let ratio = dpr / bsr        var viewport = page.getViewport(screen.availWidth / page.getViewport(1).width)        canvas.width = viewport.width * ratio        canvas.height = viewport.height * ratio        canvas.style.width = viewport.width + 'px'        canvas.style.height = viewport.height + 'px'        ctx.setTransform(ratio, 0, 0, ratio, 0, 0)        var renderContext = {          canvasContext: ctx,          viewport: viewport        }        page.render(renderContext)        if (_this.pages > num) {          _this.renderPage(num + 1)        }      })    },    loadFile () {      let url = '../../static/web/polarisV1.0.6.0.pdf'      // let url = '../../static/web/typescript-tutorial.pdf'      let _this = this      PDFJS.getDocument(url).then(function (pdf) {        _this.pdfDoc = pdf        _this.pages = _this.pdfDoc.numPages        _this.$nextTick(() => {          _this.renderPage(1)        })      })    }  },  mounted () {    // let url = Base64.decode(this.$route.query.url)    PDFJS.GlobalWorkerOptions.workerSrc =      '../../node_modules/pdfjs-dist/build/pdf.worker.js';    this.loadFile();  }}复制代码

转载地址:http://pmlix.baihongyu.com/

你可能感兴趣的文章
HTML5通信机制与html5地理信息定位(gps)
查看>>
汽车常识全面介绍 - 悬挂系统
查看>>
加快ALTER TABLE 操作速度
查看>>
学习笔记之软考数据库系统工程师教程(第一版)
查看>>
PHP 程序员的技术成长规划
查看>>
memcached 分布式聚类算法
查看>>
jquery css3问卷答题卡翻页动画效果
查看>>
$digest already in progress 解决办法——续
查看>>
mysql 数据类型
查看>>
Ubuntu 设置当前用户sudo免密码
查看>>
ionic 调用手机的打电话功能
查看>>
怎么使用阿里云直播服务应用到现在主流直播平台中
查看>>
判断点是否在三角形内
查看>>
知行合一
查看>>
jmeter插件之jsonpath提取响应结果和做断言
查看>>
[Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统...
查看>>
Android 网络编程 记录
查看>>
微软同步发行Windows 10和Windows 10 Mobile系统更新
查看>>
Zeppelin的入门使用系列之使用Zeppelin运行shell命令(二)
查看>>
form表单下的button按钮会自动提交表单的问题
查看>>