没有合适的资源?快使用搜索试试~ 我知道了~
electron + vue项目实现打印小票功能及实现代码
35 下载量 78 浏览量
2020-12-12
19:36:08
上传
评论 2
收藏 59KB PDF 举报
温馨提示
试读
3页
一 需求: 公司项目需要通过electron调用系统打印机,实现打印小票的功能。 二、分析: electron打印大概有两种: 第一种:通过window的webcontent对象,使用此种方式需要单独开出一个打印的窗口,可以将该窗口隐藏,但是通信调用相对复杂。 第二种:使用页面的webview元素调用打印,可以将webview隐藏在调用的页面中,通信方式比较简单。 两个对象调用打印方法的使用方式都一样。 本文是通过第二种方法实现静默打印。 三、实现过程: 1、要实现打印功能,首先要知道我们的设备上有哪些打印机。方法是:在渲染线程通过electron的ipcRenderer对象发送事件到主线
资源详情
资源评论
资源推荐
electron + vue项目实现打印小票功能及实现代码项目实现打印小票功能及实现代码
一一 需求:需求:
公司项目需要通过electron调用系统打印机,实现打印小票的功能。
二、分析:二、分析:
electron打印大概有两种:打印大概有两种:
第一种:通过window的webcontent对象,使用此种方式需要单独开出一个打印的窗口,可以将该窗口隐藏,但是通信调用相
对复杂。
第二种:使用页面的webview元素调用打印,可以将webview隐藏在调用的页面中,通信方式比较简单。
两个对象调用打印方法的使用方式都一样。
本文是通过第二种方法实现静默打印。
三、实现过程:三、实现过程:
1、要实现打印功能,首先要知道我们的设备上有哪些打印机。方法是:在渲染线程通过electron的ipcRenderer对象发送事件
到主线程获取。(本文的渲染线程可以当做为一个print.vue文件)
(1)主线程(electron.js)伪代码如下:
//引入electron
import electron from 'electron';
//创建一个浏览器对象
const window = new electron.BrowserWindow({
width,
height,
frame: false,
show: false,
backgroundColor: '#4b5b79',
minWidth: 1024,
minHeight: 768,
webPreferences: { webSecurity: false },
});
//在主线程下,通过ipcMain对象监听渲染线程传过来的getPrinterList事件
electron.ipcMain.on('getPrinterList', (event) => {
//主线程获取打印机列表
const list = window.webContents.getPrinters();
//通过webContents发送事件到渲染线程,同时将打印机列表也传过去
window.webContents.send('getPrinterList', list);
});
===============================================================================
(2)渲染线程(print.vue文件)伪代码如下:
<template>
</template>
<script>
//引入ipcRenderer对象,该对象和主线程的ipcMain通讯
import { ipcRenderer } from 'electron';
//渲染线程主动发送getPrinterList事件到主线程请求打印机列表
ipcRenderer.send('getPrinterList');
//监听主线程获取到打印机列表后的回调
ipcRenderer.once('getPrinterList', (event, data) => {
//data就是打印机列表
this.printList = data;
});
</script>
weixin_38743602
- 粉丝: 394
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0