当前位置:首页 > VUE

vue实现打印二维码

2026-01-07 06:52:46VUE

安装二维码生成库

使用 qrcodevue-qrcode 库生成二维码。通过 npm 安装:

vue实现打印二维码

npm install qrcode vue-qrcode

生成二维码

在 Vue 组件中引入库并生成二维码。以 vue-qrcode 为例:

vue实现打印二维码

<template>
  <div>
    <qrcode :value="qrText" :size="200"></qrcode>
    <button @click="printQRCode">打印二维码</button>
  </div>
</template>

<script>
import Qrcode from 'vue-qrcode';

export default {
  components: { Qrcode },
  data() {
    return {
      qrText: 'https://example.com'
    };
  },
  methods: {
    printQRCode() {
      window.print();
    }
  }
};
</script>

设置打印样式

public/index.html 或组件内添加 CSS 隐藏非打印内容,确保仅打印二维码:

<style>
@media print {
  body * {
    visibility: hidden;
  }
  .qrcode-container, .qrcode-container * {
    visibility: visible;
  }
  .qrcode-container {
    position: absolute;
    left: 0;
    top: 0;
  }
}
</style>

使用原生 QRCode 库(可选)

若需更多控制,使用 qrcode 原生库生成 Canvas 或 Image:

import QRCode from 'qrcode';

methods: {
  generateQR() {
    QRCode.toCanvas(document.getElementById('canvas'), this.qrText, { width: 200 }, (error) => {
      if (error) console.error(error);
    });
  }
}

注意事项

  • 打印前确保二维码尺寸适合纸张。
  • 测试不同浏览器的打印兼容性,必要时使用 @media print 调整布局。
  • 动态内容需在打印前更新二维码数据。

标签: 二维码vue
分享给朋友:

相关文章

vue实现右下角弹框

vue实现右下角弹框

实现右下角弹框的基本思路 在Vue中实现右下角弹框,通常需要结合CSS定位和Vue的组件化特性。弹框可以通过绝对定位固定在右下角,并通过Vue控制其显示与隐藏。 创建弹框组件 新建一个Vue组件(如…

vue 实现tabs

vue 实现tabs

Vue 实现 Tabs 组件的方法 使用动态组件和 v-for 在 Vue 中实现 Tabs 可以通过动态组件和 v-for 指令结合完成。定义一个 tabs 数组,包含每个标签的标题和对应的组件。…

vue实现分栏

vue实现分栏

Vue实现分栏的常见方法 使用CSS Flexbox布局 通过Flexbox可以快速实现分栏效果,适合大多数响应式布局场景 <template> <div class="con…

vue scrolltop 实现

vue scrolltop 实现

实现 Vue 中的 scrollTop 在 Vue 中实现滚动到顶部功能可以通过多种方式完成,包括使用原生 JavaScript、Vue 指令或第三方库。以下是几种常见的实现方法: 使用原生 Jav…

轮播vue实现

轮播vue实现

使用 Vue 实现轮播功能 基础轮播实现 安装依赖(如使用 Swiper): npm install swiper vue-awesome-swiper 组件代码示例: <templ…

vue实现tabbar

vue实现tabbar

Vue 实现 TabBar 的方法 使用 Vue Router 实现基础 TabBar 安装 Vue Router 依赖: npm install vue-router 创建路由配置文件(route…