• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

electron实现静默打印的示例代码

vue 搞代码 4年前 (2022-01-08) 41次浏览 已收录 0个评论

这篇文章主要介绍了electron实现静默打印的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

electron+vuecli3 实现设置打印机,静默打印小票功能

网上相关的资料比较少,这里给大家分享一下,希望大家可以少踩一些坑
github地址

必须要强调一下的是electron的版本必须是3.0.0不能,我尝试了4和5都没有实现

效果图

使用

 git clone https://github.com/sunnie1992/electron-vue-print-demo.git npm install npm run electron:serve

实现

操作思路
1.用户点击打印
2.查询本地electron-store(用来向本本文来源gaodai$ma#com搞$代*码*网(地存储,读取数据)是否存打印机名称
3.已经设置,直接打印
4.没有设置,弹出设置打印机框
5.用户设置好确认后打印

首页App.vue引入了两个组件,一个是主动设置打印机的弹出printDialog

另外一个是打印组件,打印是通过webview将需要打印的内容渲染到html页面然后就能打印了

  <div id="app"> 设置打印机      打印</div> #app { font-family: 'Avenir', Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } 

APP.VUE 每次点击打印按钮后触发组件的print方法并将数据传过去 this.$refs.print.print(row.name)
printer.vue 查询打印机,然后调用打印方法printRender。

  <div class="container"> </div> .container { position: fixed; right: -500px; } 

public/print.html渲染webview页面成功后发送打印指令

 

这里用到了electron-store存取本地数据

background.js 引入 初始化挂载在global

 import ElectronStore from 'electron-store' // ElectronStore 默认数据 import electronDefaultData from './config/electron-default-data' let electronStore app.on('ready', async() => { // 初始化配置文件 electronStore = new ElectronStore({ defaults: electronDefaultData, cwd: app.getPath('userData') }) global.electronStore = electronStore })

src/plugins/inject.js

注册$electronStore

 // eslint-disable-next-line import { remote } from 'electron' export default { /* eslint no-param-reassign: "error" */ install(Vue) { Vue.prototype.$electronStore = remote.getGlobal('electronStore') } } 

然后你就可以在vue文件里读取了

this.$electronStore.get(‘printForm’) 和 this.$electronStore.set(‘printForm’, val.name)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网

以上就是electron实现静默打印的示例代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:electron实现静默打印的示例代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址