• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Vue3利用vue-plugin-hiprint插件实现无预览打印功能

    发布者: 涵韵 | 发布时间: 2025-6-16 07:43| 查看数: 85| 评论数: 0|帖子模式

    前言

    在MES管理系统中需要实现条码数据从接口返回后,直接调用打印机进行打印,跳过浏览器的预览确定那一步。在尝试很多JS的方式和插件后,都无法实现该功能,因为基本上最后都是使用了Window.pring()方法进行打印,所以需要本地启动服务调用打印机,才能实现该功能。
    附上该插件的官方文档 http://hiprint.io/,本文中未提及的功能基本上都能在官网中找到。Gitee链接

    一、Vue3项目配置


    1、安装vue-plugin-hiprint插件
    1. npm install vue-plugin-hiprint
    复制代码
    2、文件引入
    1. //在项目的入口文件中引入所需的CDN
    2. <!DOCTYPE html>
    3. <html lang="zh-CN">
    4.   <head>
    5.     <meta charset="utf-8">
    6.     <title>hinnn-hiprint</title>
    7.     <!-- hiprint -->
    8.     <link href="hiprint/css/hiprint.css" rel="external nofollow"  rel="stylesheet">
    9.     <link href="hiprint/css/print-lock.css" rel="external nofollow"  rel="external nofollow"  rel="stylesheet">
    10.     <link href="hiprint/css/print-lock.css" rel="external nofollow"  rel="external nofollow"  media="print" rel="stylesheet">
    11.    
    12.   </head>
    13.   <body>
    14.     <h1>hiprint 是一款用于web打印的js组件</h1>
    15.     <!-- 加载 hiprint 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    16.     <!-- polyfill.min.js解决浏览器兼容性问题v6.26.0-->
    17.     <script src="hiprint/polyfill.min.js"></script>
    18.     <!-- hiprint 核心js-->
    19.     <script src="hiprint/hiprint.bundle.js"></script>
    20.     <!-- 条形码生成组件-->
    21.     <script src="hiprint/plugins/JsBarcode.all.min.js"></script>
    22.     <!-- 二维码生成组件-->
    23.     <script src="hiprint/plugins/qrcode.js"></script>
    24.     <!-- 调用浏览器打印窗口helper类,可自行替换-->
    25.     <script src="hiprint/plugins/jquery.hiwprint.js"></script>
    26.   </body>
    27. </html>
    复制代码
    3、项目中使用

    在使用无预览打印时如果我们需要对打印内容设置样式,那我们需要把样式写成行内样式不然不会生效.
    1. // 全局引入
    2. // main.ts
    3. import { hiPrintPlugin } from 'vue-plugin-hiprint'
    4. app.use(hiPrintPlugin, '$pluginName')

    5. // 局部引入
    6. import { hiPrintPlugin } from 'vue-plugin-hiprint'

    7. // 页面中使用
    8. <template>
    9.   <div ref="printRef" >
    10.     //打印内容
    11.   </div>
    12. </template>

    13. const printRef = ref();

    14. // 组件
    15. hiprint.init({
    16.    host: "https://printjs.cn:17521", // 打印客户端的地址
    17.   token: "vue-plugin-hiprint", // 与打印客户端相同的 token
    18. })
    19. //初始化
    20. const hiprintTemplate = new hiprint.PrintTemplate()

    21. // printByHtml为预览打印,直接通过打印某个元素区域最好用(最好上手)所以使用的是打印html的方式
    22. hiprintTemplate.printByHtml(printRef.value,{});
    23. //printByHtml2方法为直接打印,需要安装客户端 下面会提到客户端的安装
    24. hiprintTemplate.printByHtml2(printRef.value,{
    25. printer: printerName, // 打印机名称,不填则默认打印机
    26. title: '任务队列中名称'
    27. });
    复制代码
    二、安装客户端

    如果要实现无预览打印(静默打印)就需要安装打印客户端, 无预览打印的原理是使用 hiprint 的打印客户端,它是一个基于 electron 的桌面应用,可以接收来自浏览器的打印请求,然后直接调用本地打印机进行打印。
    安装地址
    安装完成后打开软件,如果你的前端运行着,就会显示有本地连接,不然就是没有连上,需要重新启动服务。界面如下:


    以上就是Vue3利用vue-plugin-hiprint插件实现无预览打印功能的详细内容,更多关于Vue3 vue-plugin-hiprint无预览打印的资料请关注脚本之家其它相关文章!

    来源:https://www.jb51.net/javascript/339433800.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表