添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在使用electron调用打印方法contents.print时,遇到问题,需要调用多次才生效,

printWindow.webContents.print({ silent: false, printBackground: true},
    (data) => {
        console.log("回调", data);

项目使用的是electron 4.0.0版本,网上有人说是这个版本有bug,在github上找到临时解决方案,https://github.com/electron/electron/issues/16219

//使用该方法:打印时有时不生效,需要点击多次打印按钮,估计与electron 4.0.0版本有关
// printWindow.webContents.print({ silent: false, printBackground: true},
//   (data) => {
//     console.log("回调", data);
// })
//故使用以下方法调用打印
printWindow.webContents.executeJavaScript("window.print()");

或使用electron  4.0.0-beta.9版本解决

打印demo见https://github.com/dachuant/electron-print

在使用electron调用打印方法contents.print时,遇到问题,需要调用多次才生效,printWindow.webContents.print({ silent: false, printBackground: true}, (data) => { console.log("回调", data); })项目使用的是electron ... 在electron-react项目当中要实现打印部分页面内容的需求, 第一种方法是使用iframe标签打印,这种方法最简单网上有很多教程,使用iframe.contentWindow.print()这个方法会弹出打印对话框,我还没有找到关闭的方法,所以没有采用。 第二种方法是在使用electron的主线程调用webContents.print()方法,这个方法相对比较复杂,主线程和渲染线程直接需要通信。 流程如下: 主线程 :
window.print()打印是浏览器自带的打印,实现原理是将html转换为pdf可以在线预览打印或者导出pdf,在任何网页上可通过Ctil+p快捷键调出浏览器打印程序,它可将整个网页打印出来,在我们开发中,其实并不需要将所有页面打印出来,或者只需要局部的页面做打印,那我我们就自己实现window.print()打印功能。 浏览器自带的打印窗口(页眉页脚属于自带的,我们无法去掉,但是可以通过css将边距调小,将其覆盖掉) 打印常见的功能与问题处理 打印的功能以及布局全由css控制,在加上一些程序处理的业
最近electron-vue项目中遇到打印功能,但是利用浏览器原生的打印功能(window.print())又无法预览打印界面,用户体验极差。后来偶然发现lodop这个神奇的web打印插件,通过把lodop打印插件整合到项目中,解决了问题。不足的是为此用户需要增加一步安装lodop.exe文件的操作。 先生成图片: lodop的预览功能: 正文开始,接下来说以下具体操作吧。 1. 前往lodop官网下载插件 下载解压后复制LodopFuncs.js到自己的electron-vue项目中(我是 需要换一种实现了,查到electron有静默打印的方式有两种 第一种:通过window的webcontent对象,使用此种方式需要单独开出一个打印的窗口,可以将该窗口隐藏,但是通信调用相对复杂
项目中用的是谷歌浏览器,js 执行window.print() 就会调用谷歌浏览器的打印功能。 打印其实打印的是整个当前网页,只是用媒体查询(@media print)把网页中要打印的内容做了显示,不打印的内容做了隐藏而已。 针式打印机由于存在失真问题,所以像有些边框颜色设置的比较浅的就没法打印出来,可以设置边框颜色深一点。 <!doctype html> <html&...
被恶心了… 第一 . 打印, 部分打印. 直接打印调用 Window.print() 即可, 会打印你当前页面的内容, 但是这里存在一个问题, 有时候调用打印预览的时候 显示的是空白的页面, 这是因为 加载顺序的问题, 你的页面还没加载完成 但是打印方法已经提交. 在需要打印内容 加一个div 标上ID 就行 bdhtml=window.document.body.innerHTM...
var style = document.createElement('style') style.type = 'text/css' style.innerHTML = '@page { size: landscape }' document.head.appendChild(style) // 执行打印操作 window.print() 3. 使用 Electron 的 webContents.print() 方法打印 WebView 内容。 ```javascript const { webContents } = require('electron') const win = new BrowserWindow() win.webContents.on('did-finish-load', () => { // 执行注入样式表和打印操作 win.webContents.executeJavaScript(` var style = document.createElement('style') style.type = 'text/css' style.innerHTML = '@page { size: landscape }' document.head.appendChild(style) window.print() // 打印 WebView 内容 webContents.print({}, (success, errorType) => { if (!success) console.log(`打印失败: ${errorType}`) 这样就可以在 Electron 应用程序中使用 WebView 打印横向页面了。 linux系统运行java项目报错Caused by: java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.closeQuietly springboot 连接rabbitmq报错org.springframework.amqp.AmqpIOException: java.io.IOException : silence: springboot 连接rabbitmq报错org.springframework.amqp.AmqpIOException: java.io.IOException weixin_52213940: springboot 连接rabbitmq报错org.springframework.amqp.AmqpIOException: java.io.IOException qq_39683071: 谢谢dalao