当前位置:首页 > VUE

vue实现打印功能

2026-02-18 09:00:13VUE

使用vue-print-nb插件实现打印

安装vue-print-nb插件

npm install vue-print-nb --save

在main.js中引入并注册插件

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

在组件中使用v-print指令

<template>
  <button v-print="printObj">打印</button>
  <div id="printContent">
    <!-- 需要打印的内容 -->
  </div>
</template>

<script>
export default {
  data() {
    return {
      printObj: {
        id: 'printContent',
        popTitle: '打印标题' // 打印窗口的标题
      }
    }
  }
}
</script>

使用window.print()原生方法实现

创建打印方法

methods: {
  handlePrint() {
    const printContent = document.getElementById('printContent').innerHTML
    const originalContent = document.body.innerHTML

    document.body.innerHTML = printContent
    window.print()
    document.body.innerHTML = originalContent
  }
}

在模板中添加打印按钮和内容区域

<button @click="handlePrint">打印</button>
<div id="printContent">
  <!-- 需要打印的内容 -->
</div>

使用CSS控制打印样式

添加打印专用样式表

<link rel="stylesheet" href="print.css" media="print">

或在现有样式表中添加媒体查询

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

处理打印分页问题

通过CSS控制分页

@media print {
  .page-break {
    page-break-after: always;
  }
}

在需要分页的位置添加分页元素

<div class="page-break"></div>

注意事项

打印前确保内容已完全加载,特别是异步数据 动态内容打印时需要注意恢复原始DOM状态 复杂的表格和布局可能需要特殊CSS处理 某些浏览器可能需要用户手动启用弹出窗口

vue实现打印功能

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

相关文章

vue 实现闪烁

vue 实现闪烁

Vue 实现闪烁效果的方法 方法一:使用 CSS 动画 在 Vue 组件中定义一个闪烁的 CSS 动画,通过绑定 class 或 style 来控制元素的闪烁效果。 <template&…

vue实现批量

vue实现批量

Vue 实现批量操作的方法 在 Vue 中实现批量操作通常涉及选择多个项目并执行统一处理,例如批量删除、批量更新等。以下是几种常见实现方式: 表格多选批量操作 使用 el-table 配合复选框实…

vue实现token

vue实现token

Vue 中实现 Token 认证的方法 在 Vue 中实现 Token 认证通常涉及前端与后端的交互,包括 Token 的获取、存储、发送和刷新等操作。以下是具体实现步骤: 获取 Token 用户…

vue alert实现

vue alert实现

使用 Vue 实现 Alert 组件 在 Vue 中实现 Alert 组件可以通过自定义组件或结合第三方库完成。以下是几种常见方法: 自定义 Alert 组件 创建一个可复用的 Alert 组件,…

vue实现fadein

vue实现fadein

Vue 实现 FadeIn 效果 在 Vue 中实现淡入(FadeIn)效果可以通过 CSS 过渡、动画或第三方库实现。以下是几种常见方法: 使用 CSS 过渡 通过 Vue 的过渡系统结合 CS…

vue 实现后退

vue 实现后退

实现后退功能的方法 在Vue中实现后退功能通常需要结合浏览器历史记录API或Vue Router的导航方法。以下是几种常见的实现方式: 使用Vue Router的go方法 this.$router…