最终效果图
官网
https://mozilla.github.io/pdf.js
下载
放入项目
vue页面嵌入本地下载好的html
sessionStorage.setItem('sdfDldj8KJ45SDF', encodeURIComponent(file_url))
<template><div style="height:100%"><iframe:id="1":key="Math.random()"width="100%"height="100%":src="`pdfJS/web/viewer.html?file=${path}`"frameborder="0"ref="pdfframe"></iframe></div>
</template><script>
export default {data() {return {path: ''}},created() {this.path = sessionStorage.getItem('sdfDldj8KJ45SDF')}
}
</script>
问题一 访问远程pdf跨域
viewer.js文件注释
// if (fileOrigin !== viewerOrigin) {// throw new Error("file origin does not match viewer's");// }
问题二 PDFJS的打印,保存功能屏蔽
1.屏蔽按钮 viewer.css
#print{display: none;
}
#download{display: none;
}
2.屏蔽快捷键 viewer.js
bindEvents() {// eventBus._on("beforeprint", _boundEvents.beforePrint);// eventBus._on("afterprint", _boundEvents.afterPrint);// eventBus._on("print", webViewerPrint);// eventBus._on("download", webViewerDownload);},
问题三 报错
在html<head>标签里面加入
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
问题四 报错
把所有的mjs改成js