iframe结合pdf.js实现pdf的预览/下载及打印

  • 1.[下载pdf.js](http://mozilla.github.io/pdf.js/getting_started/#download)
  • 2. 将下载好的文件中的build和web拷贝到vue项目的public文件夹下
  • 3. 直接在项目中使用
  • 4. 温馨提示:
  • 最终效果

1.下载pdf.js

2. 将下载好的文件中的build和web拷贝到vue项目的public文件夹下

3. 直接在项目中使用

 <template><div v-dee-loading="loading" class="page-content record-card-preview"><!-- 打印预览 --><el-drawertitle="文件预览":visible.sync="drawer"size="70%"><div v-dee-loading="loadingPdfUrl" class="scan-file-com"><iframev-if="drawer"frameborder="0":src="pdfUrl"style="height:100%;flex:1;width:-webkit-fill-available;"/></div></el-drawer></div>
</template>
<script>
import { recordPrint} from '@/api/task.js'
export default {name: 'RecordCardPreview',components: { },data() {return {loading: false// 预览loadingPdfUrl: false,drawer: false,pdfUrl: ''}},created() {},mounted() {},methods: {// 此处为上下文调用  代码与本文无关,不重要,已经删掉啦 , 只需要知道在这里调用就可以了tableToolHandler(val) {const sels = this.selectionRowsswitch (val.key.btnValue) {case 'previewPdf':this.previewPdfFun(sels)breakdefault:break}},// 预览pdfpreviewPdfFun(sels) {if (sels.length === 1) {this.drawer = truethis.loadingPdfUrl = truerecordPrint(sels[0].code).then(res => {console.log(res)if (res.data) {this.loadingPdfUrl = false/** * 注意这里路径的使用  路径为html的基准路径拼接后台返回来的文档流*/this.pdfUrl = `pdf/web/viewer.html?file=${window.URL.createObjectURL(new Blob([res.data]))}` }}).catch(() => {this.loadingPdfUrl = false})} else {this.$utils.showMessageWarning('请选择一条数据进行操作!')}}}
}
</script>
<style lang="scss">
</style>

4. 温馨提示:

如果你想做一些修改,比如要不要展示下载,打印按钮之类的, 对public/pdf/web/viewer.html进行适当的修改就可以啦

最终效果

【iframe结合pdf.js实现pdf的预览/下载及打印功能】相关推荐

  1. 手机端html5展示pdf,pdf.js移动端展示预览打开pdf-pdfh5.js

    pdf.js移动端展示预览打开pdf-pdfh5.js 本插件基于pdf.js和jQuery,可手势捏合缩放,支持懒加载(即分段加载). 2019.07.18更新:增加npm install pdfh ...

  2. 使用pdf.js在移动端预览pdf文档

    pdf.js 是一个技术原型主要用于在 HTML5 平台上展示 PDF 文档,无需任何本地技术支持. 在线演示地址:http://mozilla.github.com/pdf.js/web/viewe ...

  3. pdf.js使用(在线预览pdf文件)

    最近公司需要pdf在线预览,于是找到pdf.js这个插件 , 好处就在于 pc端和移动端 不需要花过多的精力去调. 1:需要到官网下载源码:https://mozilla.github.io/pdf. ...

  4. excel怎么设置打印区域_如何设置打印预览,Excel打印功能介绍

    NO.1 打印是制作Excel表格的一种最终输出操作,我们所有的制作都将体现在打印纸上面. 那么如何实现这个功能呢? 通常通过打印按钮来进行操作,下面介绍一下Range对象下面的两个打印相关的方法. ...

  5. 文件被损坏 java_使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误

    首先大概说明一下问题出现的背景:我用PDF.JS实现文件在线预览,参考网上的办法,在jsp文件中使用 ?file=" width="1024" height=" ...

  6. Vue3 + PDF.js 实现 PDF 预览

    文章目录 1 前言 2 PDF 预览测试 2.1 下载 PDF.js 2.2 window.open 直接打开 2.3 弹框形式打开 3 修改配置项 3.1 修改主题色为暗色系 3.2 修改默认语言为 ...

  7. vue里使用pdf.js实现pdf文件的预览功能

    引言:经过上一篇文章的测试,发现了以下问题: 兼容性不好 不适用多语言场景(不能共用一套) 会出现跨域问题 难于监控阅读状态 不能控制下载状态 在基于vue开发的移动项目中,如果预览的pdf数量不是很 ...

  8. 加载js文件,在线预览pdf文档

    加载js文件,在线预览pdf文档 效果演示 环境要求 JS文件下载 Jsp页面导入js文件 jquery.media.js源码 效果演示 首先,先展示效果图 环境要求 Tomcat8.5 [注意]:T ...

  9. java零碎要点010---Java实现office文档与pdf文档的在线预览功能

    最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...

最新文章

  1. 20分钟+1080显卡,能跑多复杂的模型?
  2. python序列_科学网—Python:序列(字符串、列表、元组)和序列函数 - 刘洋洋的博文...
  3. Windows Pe 第三章 PE头文件(中)
  4. bzoj [Scoi2016]美味
  5. python中的缩进问题_Python中的缩进问题
  6. C++其他进制转十进制
  7. boost::mp11::mp_min_element相关用法的测试程序
  8. poj3685 二分套二分
  9. java wav合并_用Java串联WAV文件
  10. iOS-启动动态页跳过设计思路
  11. java ttf_使用iText从* .ttf文件创建字体
  12. python爬虫实战万年历
  13. Python实现有趣的CRAPS赌博游戏
  14. 杰理之无线MIC【篇】
  15. 云计算 第四章 微软云计算 Windows Azure
  16. 【Crash】C++程序崩溃排查方法
  17. 为什么谷歌不会发生“魏则西事件”?
  18. 张江GSK 激活黑莓8820
  19. 版本管理工具介绍—Git篇
  20. 2023年,IT互联网还有发展前景吗?

热门文章

  1. uni-app学习(一)
  2. element 表单只允许输入数字和两位小数,保留两位小数(四舍五入) 小数不足两位补0
  3. ROS教程一续——Catkin Workspace (Catkin工作区)
  4. Nature综述:Rob Knight手把手教你分析菌群数据(全文翻译1.8万字)
  5. git checkout 时提示 “The following untracked working tree files would be overwritten by checkout“
  6. 微信小程序第六节:WXML语法学习
  7. 多传感器融合定位四-3D激光里程计其四:点云线面特征提取
  8. iOS 视图实现圆角效果的三种方法及比较
  9. (转)回溯法-算法框架及基础
  10. (2)RIL简析(高通)——消息处理