使用pdfjs-dist实现vue工程pdf在线预览
1、安装(我安装的是这个版本,安装最新的版本在文件中import时会报错:You may need an appropriate loader to handle this file type)
npm install -s pdfjs-dist@2.0.943
2、使用
<template>
<div>
<canvas v-for="page in pages" :id="'the-canvas'+page" :key="page"></canvas>
</div>
</template>
<script>
import PDFJS from "pdfjs-dist"
export default {
name: "pdfPreview",
data(){
return {
pdfDoc: null,
pages: 0
}
},
mounted() {
this.showPdf()
},
methods: {
showPdf: function () {
// 请求本地文件
// let url = '/static/player.pdf'
// 跨域请求文件,需要走后台代理,后台需要将文件流返回前端才可在页面显示
// let url = '/pdf/showPdf?pdfUrl=http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf'
let url = 'http://storage.xuetangx.com/public_assets/xuetangx/PDF/PlayerAPI_v1.0.6.pdf'
this.loadFile(url)
},
renderPage: function (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.0
let