当前位置: 首页 > news >正文

vue实现静默打印pdf

浏览器中想要打印文件,不依靠浏览器自带的打印窗口,想要实现静默打印(也就是不弹出打印对话框),同时控制打印份数的功能,一种方式是使用vue-plugin-hiprint和本地安装客户端electron-hiprint

本来是浏览器去调用打印控件,现在直接在对应电脑上安装程序,然后浏览器去调用该程序。

浏览器 -> electron-hiprint -> 打印
  • vue-plugin-hiprint:https://gitee.com/CcSimple/vue-plugin-hiprint

  • electron-hiprint: https://gitee.com/CcSimple/electron-hiprint

    • 下载地址:https://gitee.com/CcSimple/electron-hiprint/releases
    • 找到指定系统版本,进行下载并安装
    • 【安装注意:安装客户端时请 以管理员身份运行 ,才能成功添加 URLScheme】
    • URLScheme hiprint://
      在这里插入图片描述

实现步骤

安装 electron-hiprint

上面有安装地址,比如windows 64位的选择这个安装包下载,并使用管理员身份安装
在这里插入图片描述
安装完成并启动后
在这里插入图片描述

在vue项目中使用vue-plugin-hiprint

安装包

npm install vue-plugin-hiprint
# 或者
yarn add vue-plugin-hiprint

项目中引入包

// 全局引入
// main.js
import { hiPrintPlugin } from 'vue-plugin-hiprint'
Vue.use(hiPrintPlugin, '$pluginName')// 局部引入(推荐)
import { hiPrintPlugin } from 'vue-plugin-hiprint'

页面中使用

<button @click="print">打印</YsButton>import { hiPrintPlugin } from 'vue-plugin-hiprint'async print() {const printer = hiprint.hiwebSocket.getPrinterList().find(i => i.isDefault); // 获取当前默认的打印机console.log(printer)// hiprint.hiwebSocket.send({ client: 'TEST_PRINT', printer: printer?.name, type: 'url_pdf', pdf_path: 'http://xx.xxx.xx.xx:1123/preview/xxx.pdf' }) // 指定打印机,同时配置客户端的tokenhiprint.hiwebSocket.send({ client: '', type: 'url_pdf', pdf_path: 'http://xx.xxx.xx.xx:1123/preview/xxx.pdf', pages: 1, copies: 2 }) // 设置打印的页数和打印的份数},

如果需要设置客户端的token的话在此处,应用即可。
在这里插入图片描述
有打印成功的状态返回
在这里插入图片描述

相关文章:

  • 利用HandlerMethodArgumentResolver和注解解析封装用户信息和Http参数
  • 【k8s】Taint污点)、Toleration(容忍)
  • 事关数据安全,ARM被爆不可修复漏洞
  • 在KEIL里C51和MDK兼容以及添加ARM compiler5 version编译器
  • 单片机通讯外设 (UART)、I2C、SPI、CAN 和 LIN 时序分析 使用场景以及优缺点对比分析报告
  • Ubuntu 环境下控制蓝牙适配器
  • JVM理解(通俗易懂)
  • Python内置函数---bin()
  • 11.thinkphp的模板
  • java将pdf转换成word
  • 3DGS之齐次坐标
  • 用户模块-SpringEvent观察者模式
  • ToB标杆!容联云入选量子位「2025中国AIGC应用报告」
  • CSS内边距、外边距、边框
  • 深入微服务核心:从架构设计到规模化
  • CSS初识
  • Android仿今日头条Kotlin版本
  • 机器学习算法-分类决策树
  • vue项目中使用tinymce富文本编辑器
  • CSS3 基础(边框效果)
  • 习近平离京赴莫斯科对俄罗斯进行国事访问并出席纪念苏联伟大卫国战争胜利80周年庆典
  • 我国外汇储备规模连续17个月稳定在3.2万亿美元以上
  • 公积金利率降至历史低位,百万房贷30年省5万
  • 潘功胜:将创设科技创新债券风险分担工具
  • 巴基斯坦军方:印度导弹袭击已造成至少3死14伤
  • 短剧剧组在贵州拍戏突遇极端天气,演员背部、手臂被冰雹砸伤