vue 预览、下载pdf

1.下载pdf文件

因为pdf文件是传到oss上的,地址是下载地址,所可以使用a标签下载,但不能使用iframe等方法预览

<el-button class="download" v-if="list&&list.length>0" @click="downloadFile(fileList)" type="text">下载</el-button>
downloadFile(fileList){
   
   window.location.href = fileList[0].url
   this.$message.success('下载成功!');
},

2.使用vue-pdf预览pdf文件

1.安装vue-pdf

npm install --save vue-pdf

2.使用

<template>
  <div class="pdf">
    <pdf 
      ref="pdf"
      :src="pdfUrl"
      :page="pageNum"
      :rotate="pageRotate"
      @password="password"
      @progress="loadedRatio = $event"
      @page-loaded="pageLoaded($event)"
      @num-pages="pageTotalNum=$event" 
      @error="pdfError($event)"
      @link-clicked="page = $event">
    </pdf>
    <div class="pdf-tab">
      <el-button type="text" class="btn-de
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue预览 PDF 并隐藏下载按钮,您可以使用 PDF.js 库来加载 PDF 文件,并使用 CSS 来隐藏下载按钮。以下是一个简单的示例: 1. 安装 PDF.js 库 ``` npm install pdfjs-dist ``` 2. 在 Vue 组件中引入 PDF.js 和样式文件 ```javascript import pdfjsLib from 'pdfjs-dist/build/pdf'; import 'pdfjs-dist/web/pdf_viewer.css'; ``` 3. 创建一个 PDF 预览的组件,使用 PDF.js 加载 PDF 文件 ```html <template> <div ref="pdfViewer"></div> </template> <script> export default { data() { return { pdfUrl: 'path/to/pdf/file.pdf', pdfViewer: null }; }, mounted() { this.loadPdf(); }, methods: { loadPdf() { const viewerContainer = this.$refs.pdfViewer; const pdfViewer = new pdfjsLib.PDFViewer({ container: viewerContainer }); viewerContainer.addEventListener('pagesinit', () => { pdfViewer.eventBus.dispatch('toggleSecondaryToolbar', { visible: false }); }); pdfjsLib.getDocument(this.pdfUrl).promise.then(pdf => { pdfViewer.setDocument(pdf); this.pdfViewer = pdfViewer; }); } } }; </script> ``` 在上面的代码中,我们创建了一个 `PDFViewer` 实例,并将其添加到 Vue 组件的 DOM 中。一旦 PDF 文件加载完成,我们可以将 `pdfViewer` 对象保存到组件的数据中,以便在以后的操作中使用。 在 `pagesinit` 事件中,我们使用 PDF.js 的 `eventBus` 对象来切换 PDF 查看器的次要工具栏可见性,从而隐藏下载按钮。 最后,我们使用 `pdfjsLib.getDocument` 方法来加载 PDF 文件并将其设置到 `pdfViewer` 中。 4. 在样式文件中隐藏下载按钮 ```css button.toolbarButton.download { display: none !important; } ``` 在上面的样式中,我们使用 `!important` 来覆盖 PDF.js 中下载按钮的默认样式,并将其设置为 `display: none` 来隐藏该按钮。 这样,在 Vue 组件中预览 PDF 时,下载按钮就会被隐藏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值