当前位置:首页 > VUE

vue实现pdf下载

2026-02-11 06:38:41VUE

Vue 中实现 PDF 下载的方法

使用前端库生成 PDF

安装 html2pdf.jsjspdf 库,将 HTML 内容转换为 PDF 并下载。

npm install html2pdf.js

在 Vue 组件中引入并使用:

import html2pdf from 'html2pdf.js';

export default {
  methods: {
    downloadPDF() {
      const element = document.getElementById('pdf-content');
      const opt = {
        margin: 10,
        filename: 'document.pdf',
        image: { type: 'jpeg', quality: 0.98 },
        html2canvas: { scale: 2 },
        jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
      };
      html2pdf().from(element).set(opt).save();
    }
  }
};

从服务器下载 PDF

通过 API 请求获取 PDF 文件流,使用 BlobURL.createObjectURL 实现下载。

downloadPDF() {
  axios.get('/api/pdf', { responseType: 'blob' })
    .then(response => {
      const blob = new Blob([response.data], { type: 'application/pdf' });
      const link = document.createElement('a');
      link.href = URL.createObjectURL(blob);
      link.download = 'document.pdf';
      link.click();
      URL.revokeObjectURL(link.href);
    });
}

直接链接下载

若 PDF 文件已存储在服务器,可通过 <a> 标签直接下载。

<a href="/path/to/document.pdf" download>Download PDF</a>

动态生成 PDF 内容

使用 jspdf 动态创建 PDF 内容:

import jsPDF from 'jspdf';

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

注意事项

vue实现pdf下载

  • 跨域问题需确保服务器配置正确的 CORS 头。
  • 大文件下载建议分块或显示进度条。
  • 移动端部分浏览器可能限制自动下载,需用户手动触发。

标签: vuepdf
分享给朋友:

相关文章

vue架构实现

vue架构实现

Vue 架构实现核心方案 Vue.js 的架构实现通常围绕模块化、组件化和状态管理展开。以下为常见实现方案: 基于单文件组件(SFC)的模块化 通过 .vue 文件组织模板、脚本和样式: <…

vue实现详情

vue实现详情

Vue 实现详情页的常见方法 使用动态路由 在 Vue Router 中配置动态路由参数,通过 $route.params 获取详情 ID。示例路由配置: { path: '/detail/:i…

简单实现vue

简单实现vue

Vue 的基本实现 创建一个简单的 Vue 应用需要引入 Vue 库,并编写基本的模板和数据绑定逻辑。 <!DOCTYPE html> <html lang="en"> &l…

vue实现gps

vue实现gps

Vue 中实现 GPS 定位功能 在 Vue 中实现 GPS 定位功能通常依赖于浏览器的 Geolocation API 或第三方地图服务(如高德、百度地图等)。以下是两种常见的实现方式: 使用浏览…

实现vue cli

实现vue cli

安装 Vue CLI 确保系统中已安装 Node.js(版本建议 12.x 或更高)。通过 npm 全局安装 Vue CLI: npm install -g @vue/cli 安装完成后验证版本:…

vue实现增加

vue实现增加

实现 Vue 中的新增功能 在 Vue 中实现新增功能通常涉及数据绑定、表单处理和状态管理。以下是几种常见的实现方式: 数据绑定与列表渲染 通过 v-model 绑定表单输入,使用数组的 push…