技术标签: 大前端 静默打印 electron 网页打印 框架
最近有个需求,在window平板上实现打印,用户在平板上一顿操作之后,生成一个组合的页面,并将页面上的内容打印到纸张上带走。
首先需要在main.js里面添加如下代码,在主进程中,侦听渲染进程的打印事件。
const ipcMain = require('electron').ipcMain;
ipcMain.on("print", (event, arg) => {
//mainWindow 是打开的窗体
mainWindow.webContents.print({
silent: true, //静默
printBackground: false, //是否打印网页背景
deviceName: ''
}, function(error) {
})
});
在渲染进程中,需要使用以下代码。
const ipcRenderer = require('electron').ipcRenderer;
ipcRenderer.send('print', '');
如果不需要打印整个页面,可以考虑尝试将要打印的内容临时替换页面内容。
window.document.body.innerHTML=bdhtml;
我这个项目里,要把网页上一个异形区域打到胶版纸上,实际打出的大小受到网页大小/打印机设置/纸张大小三方面影响,如果你也有这种个性化打印需求的话,可以再探讨。
一、页面跳转方式在页面中有两种跳转方式,第一种跳转方式是使用 a 标签的形式进行跳转,也称之为标签跳转。第二种跳转方式是使用 window.location.href 的形式进行跳转,也称之为编程式跳转。在vue页面中,实现列表页跳转到详情页,也就有两种方式。第一种是标签式跳转,通过router-link的形式进行跳转。第二种是编程式跳转,通过 this.$router.push的形式进行...
STM32 外设默认引脚不合适,所以我研究了一下重映射功能。1. 中文参考手册## 2. CUBE 设置在右侧红框处,搜索 外设默认引脚位置鼠标悬停在引脚上,根据提示 Ctrl单击默认引脚 然后找到变色的 重映射引脚重映射引脚选择相应的功能后,默认引脚自动切换为 ResetMode ## 3. 标准库待补充4. 外设要先于引脚初始化...
1、TraceView简介及实战 TraceView详细使用步骤 2、性能优化——数据库优化
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5011题意:给你n堆石子,每个人可以选择一堆,取至少一个,取完之后这个人可以什么都不做,也可以把剩下的一堆分成两份sg打表之后发现每一堆的sg是石子个数,那么就是直接nim异或,和为0先手败,否则先手胜SG打表函数#include <bits/stdc++.h>usin...
分布式MQTT消息订阅-发布框架:高可用性ActiveMQActiveMQ是MQTT的一种实现。ActiveMQ基于JMS。ActiveMQ开发包下载地址:http://activemq.apache.org/download.htmlActiveMQ最适合做消息推送。国内很多厂商基于ActiveMQ改造出多种消息推送平台。下载完成ActiveMQ压缩包后解压,解压后直接在Java环境中运...
最近有小朋友问我:“缺姐姐,缺姐姐,为什么我从苹果手机换成安卓手机后收到消息经常延迟,甚至收不到呢?太误事了。”其实这是ios系统和Android系统推送机制不同导致的,那我就简单讲讲二者的不同吧。iOS的推送(APNs,即Apple Psuh Notification Service),是通过苹果自己的APNs服务进行的,苹果的每一台iPhone设备都有一个对应特定APP的唯一的设备标示: de...
1 servlet继承于HttpServlet 简单使用如下: 2 代码 Japackage com.test.action; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import jav
1. Flannel 跨主机通信解决上篇博客在访问时的跨节点流量卡顿问题承接上篇博客的公有ip172.25.12.100配置1.1 host-gw模式cp /home/kubeadm/kube-flannel.yml . ##将flannel.yml pod清单复制到当前目录下kubectl delete -f kube-flannel.yml ##删除之前应用的flannel网络插件vim kube-flannel.yml ##编辑kube-flannel.yml文件,将网络类型改为直接路由模
vscode体积小,打开速度快,更强大的是拓展强大,虽然本身功能少,但是有个强大的拓展库。其他的IDE虽然功能强大,各种代码提示,但是免不了的原因是体积大,打开会慢。在写了个html网页后,用其他浏览器都可以打开网页,但是chrome浏览器是个例外,提示windows找不到chrome,下面提供一个方法解决vscode不能打开chrome的问题。因为chrome安装时不像其他软件的安装程序一样...
既然涉及到视频输入,就会有很多与 相关的效果,比如对比度、饱和度、色温、白平衡等等,这些都是通用的、必须的控制项,并且大多数仅需要设置一个整数值即可。 内核中已经为我们提供了这个控制类型的,我们只需要明确自己需要添加什么控制类型,然后将其添加进内核中即可。该部分摄像头代码一半厂家会提供驱动或者相对应的参数,否则没有图像处理知识很难开发出来。返回总目录...
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这篇博客介绍了工厂模式,并有完整的代码实现。
How To: Make VirtualBox Use Your Router’s DHCP to get an IP Address in Linuxhttp://r3dux.org/2009/09/how-to-make-virtualbox-use-your-routers-dhcp-to-get-an-ip-address-in-linux/r3dux | Septembe