当前位置:首页 > VUE

vue实现pdf下载

2026-03-08 06:20:44VUE

使用 vue-pdf 库实现 PDF 下载

安装 vue-pdf 库

npm install vue-pdf

引入并使用 vue-pdf 组件

import pdf from 'vue-pdf'

export default {
  components: { pdf },
  data() {
    return {
      pdfUrl: '/path/to/your.pdf'
    }
  }
}

在模板中添加下载按钮

<template>
  <div>
    <pdf :src="pdfUrl"></pdf>
    <button @click="downloadPdf">下载PDF</button>
  </div>
</template>

实现下载方法

vue实现pdf下载

methods: {
  downloadPdf() {
    const link = document.createElement('a')
    link.href = this.pdfUrl
    link.download = 'document.pdf'
    document.body.appendChild(link)
    link.click()
    document.body.removeChild(link)
  }
}

使用 jsPDF 生成并下载 PDF

安装 jsPDF 库

npm install jspdf

创建 PDF 内容并下载

vue实现pdf下载

import jsPDF from 'jspdf'

methods: {
  generateAndDownloadPdf() {
    const doc = new jsPDF()
    doc.text('Hello World!', 10, 10)
    doc.save('document.pdf')
  }
}

使用 axios 下载服务器上的 PDF 文件

实现下载方法

import axios from 'axios'

methods: {
  async downloadPdfFromServer() {
    try {
      const response = await axios.get('/api/pdf', {
        responseType: 'blob'
      })
      const url = window.URL.createObjectURL(new Blob([response.data]))
      const link = document.createElement('a')
      link.href = url
      link.setAttribute('download', 'document.pdf')
      document.body.appendChild(link)
      link.click()
      link.remove()
    } catch (error) {
      console.error('下载失败:', error)
    }
  }
}

使用 FileSaver.js 简化下载过程

安装 FileSaver.js

npm install file-saver

使用 FileSaver 下载 PDF

import { saveAs } from 'file-saver'

methods: {
  downloadWithFileSaver() {
    saveAs(this.pdfUrl, 'document.pdf')
  }
}

注意事项

确保 PDF 文件路径正确,如果是跨域资源需要服务器配置 CORS 头
对于大文件下载,建议显示下载进度提示
在移动端使用时,某些浏览器可能需要特殊处理
如果生成复杂 PDF,考虑使用 pdf-lib 等更强大的库

标签: vuepdf
分享给朋友:

相关文章

vue实现钟表

vue实现钟表

使用 Vue 实现动态钟表 以下是一个基于 Vue 3 的动态钟表实现方案,包含时分秒指针和数字时间显示。 模板部分 <template> <div class="cloc…

vue组件实现

vue组件实现

Vue 组件实现基础 Vue 组件是 Vue.js 的核心特性之一,允许将 UI 拆分为独立、可复用的模块。组件的实现包括定义、注册、数据传递和生命周期管理等。 定义组件 组件可以通过单文件组件(.…

antd vue 实现

antd vue 实现

使用 Ant Design Vue 实现功能 Ant Design Vue 是基于 Vue.js 的 UI 组件库,提供了丰富的组件和设计规范。以下是一些常见功能的实现方法。 安装 Ant Desi…

vue实现xss

vue实现xss

XSS 攻击简介 XSS(跨站脚本攻击)是一种常见的安全漏洞,攻击者通过注入恶意脚本到网页中,当其他用户访问该页面时,脚本会在其浏览器中执行,可能导致数据泄露或会话劫持。 Vue 中的 XSS…

vue实现签章

vue实现签章

Vue 实现签章功能 签章功能通常包括手写签名、电子印章等。以下是基于 Vue 的实现方法: 使用 canvas 实现手写签名 安装依赖(如需要): npm install signatu…

vue实现开关

vue实现开关

Vue 实现开关组件的方法 使用原生HTML和Vue数据绑定 通过v-model绑定复选框的checked状态,结合CSS样式实现开关效果: <template> <label…