当前位置:首页 > VUE

vue前端实现打印功能

2026-02-09 15:59:53VUE

vue前端实现打印功能的方法

使用window.print()方法

在Vue中可以通过调用浏览器原生API window.print() 实现打印功能。这种方法简单直接,但打印内容为整个页面。

methods: {
  handlePrint() {
    window.print()
  }
}

打印指定区域内容

若只需打印页面特定区域,可通过CSS控制隐藏非打印内容,或新建iframe实现局部打印。

printPartial() {
  const printContent = document.getElementById('printArea').innerHTML
  const originalContent = document.body.innerHTML
  document.body.innerHTML = printContent
  window.print()
  document.body.innerHTML = originalContent
}

使用vue-print-nb插件

vue-print-nb是专为Vue设计的打印插件,支持更灵活的打印配置。

安装:

vue前端实现打印功能

npm install vue-print-nb --save

使用:

import Print from 'vue-print-nb'
Vue.use(Print)

<template>
  <div id="printMe">
    <!-- 打印内容 -->
  </div>
  <button v-print="'#printMe'">打印</button>
</template>

使用html2canvas+jspdf实现PDF打印

此方案先将DOM转为canvas,再生成PDF进行打印。

vue前端实现打印功能

安装依赖:

npm install html2canvas jspdf --save

实现代码:

import html2canvas from 'html2canvas'
import jsPDF from 'jspdf'

export default {
  methods: {
    async printPDF() {
      const element = document.getElementById('pdfContent')
      const canvas = await html2canvas(element)
      const imgData = canvas.toDataURL('image/png')
      const pdf = new jsPDF()
      pdf.addImage(imgData, 'PNG', 0, 0)
      pdf.save('document.pdf')
    }
  }
}

打印样式控制

通过@media print媒体查询可自定义打印样式:

@media print {
  body * {
    visibility: hidden;
  }
  #printArea, #printArea * {
    visibility: visible;
  }
  #printArea {
    position: absolute;
    left: 0;
    top: 0;
  }
}

注意事项

  • 打印内容需提前渲染到DOM
  • 复杂表格建议使用table布局避免分页问题
  • 图片打印需确保已完全加载
  • 移动端打印体验较差,建议PC端使用

标签: 功能vue
分享给朋友:

相关文章

vue穿梭框组件实现

vue穿梭框组件实现

实现基础穿梭框组件 在Vue中实现穿梭框组件,可以使用<el-transfer>(Element UI)或手动实现。以下是手动实现的核心逻辑: <template> &l…

实现vue

实现vue

安装Vue.js 通过npm安装Vue.js是最常见的方式。确保已安装Node.js和npm,运行以下命令: npm install vue 或者使用CDN直接引入: <script src…

实现 vue ssr

实现 vue ssr

Vue SSR 实现方法 Vue SSR(Server-Side Rendering)通过服务器端渲染 Vue 应用,提升首屏加载速度和 SEO 友好性。以下是核心实现方法: 基础配置 安装必要依赖…

vue computed 实现

vue computed 实现

computed 的基本用法 在 Vue 中,computed 用于声明计算属性,这些属性基于响应式依赖进行缓存。只有当依赖发生变化时,计算属性才会重新计算。 new Vue({ data: {…

vue实现webapp

vue实现webapp

Vue 实现 WebApp 的基本步骤 环境准备 确保已安装 Node.js 和 npm/yarn。通过 Vue CLI 或 Vite 创建项目: npm install -g @vue/cli v…

实现vue框架

实现vue框架

Vue框架的基本实现 Vue是一个渐进式JavaScript框架,用于构建用户界面。以下是实现Vue框架的基本步骤: 安装Vue 通过CDN引入Vue是最简单的方式: <script src…