我正在尝试将我的网站转换为ElectronJS制作的应用程序
在我的网站上,我会打印带有条形码的div。这工作得很好,但是在electronjs中我无法达到这个目的。
本来我会用这个功能
$scope.printDiv = function (divName) {
var printContents = document.getElementById(divName).innerHTML;
var popupWin = window.open('', '_blank', 'width=500,height=500');
popupWin.document.open();
popupWin.document.write('<html><head><link rel="stylesheet" type="text/css" href="styles/main.css" type=\"text/css\" media=\"print\" /></head><body onload="window.print()">' + printContents + '</body></html>');
popupWin.document.close();
}
与electronicjs
我不知道如何传递对象进行打印。
我也试图从我可以加载的内容生成PDF。但PDF损坏
var windowPrint = require('electron').remote.BrowserWindow;
var fs = require('fs');
var newWindow = new windowPrint({width: 800, height: 600, show: false});
console.log(newWindow);
newWindow.loadURL('http://github.com');
newWindow.show();
newWindow.webContents.print({silent: true, printBackground: true});
newWindow.webContents.printToPDF({printSelectionOnly : true, printBackground: true}, function (error, data) {
if (error) {
throw error;
}
console.log(error);
console.log(data);
fs.writeFile('print.pdf', function (data, error) {
if (error) {
throw error;
}
console.log(error);
console.log(data);
});
});
有一种简单的方法可以用electronjs打印DIV?
感谢您的阅读。
加载完成之前,您已经打印了此页面。
我的方法:1.创建一个主窗口和一个(不可见的)工作窗口
import {app, BrowserWindow, Menu, ipcMain, shell} from "electron";
const os = require("os");
const fs = require("fs");
const path = require("path");
let mainWindow: Electron.BrowserWindow = undefined;
let workerWindow: Electron.BrowserWindow = undefined;
async function createWindow() {
mainWindow = new BrowserWindow();
mainWindow.loadURL("file://" + __dirname + "/index.html");
mainWindow.webContents.openDevTools();
mainWindow.on("closed", () => {
// close worker windows later
mainWindow = undefined;
});
workerWindow = new BrowserWindow();
workerWindow.loadURL("file://" + __dirname + "/worker.html");
// workerWindow.hide();
workerWindow.webContents.openDevTools();
workerWindow.on("closed", () => {
workerWindow = undefined;
});
}
// retransmit it to workerWindow
ipcMain.on("printPDF", (event: any, content: any) => {
console.log(content);
workerWindow.webContents.send("printPDF", content);
});
// when worker window is ready
ipcMain.on("readyToPrintPDF", (event) => {
const pdfPath = path.join(os.tmpdir(), 'print.pdf');
// Use default printing options
workerWindow.webContents.printToPDF({}).then((data) {
fs.writeFile(pdfPath, data, function (error) {
if (error) {
throw error
}
shell.openItem(pdfPath)
event.sender.send('wrote-pdf', pdfPath)
})
}).catch((error) => {
throw error;
})
});
2,mainWindow.html
<head>
</head>
<body>
<button id="btn"> Save </button>
<script>
const ipcRenderer = require("electron").ipcRenderer;
// cannot send message to other windows directly https://github.com/electron/electron/issues/991
function sendCommandToWorker(content) {
ipcRenderer.send("printPDF", content);
}
document.getElementById("btn").addEventListener("click", () => {
// send whatever you like
sendCommandToWorker("<h1> hello </h1>");
});
</script>
</body>
3,worker.html
<head> </head>
<body>
<script>
const ipcRenderer = require("electron").ipcRenderer;
ipcRenderer.on("printPDF", (event, content) => {
document.body.innerHTML = content;
ipcRenderer.send("readyToPrintPDF");
});
</script>
</body>
我想从一个按钮打印出用Vaadin 14创建的主页的内容。 不幸的是,Vaadin 8是一种不再适用的解决方案: 你知道在瓦迪14怎么做吗?
问题内容: 有人可以告诉我如何用以下方式用“双引号”打印内容吗? “双引号” 问题答案: 要在字符串中插入双引号之前有一个反斜杠: 现在是: 他们说“没关系”,不是吗? 它被称为“转义”字符:您使用的是字面值,不会被解释。 使用Swift 4,您也可以选择在不需要转义的文本上使用定界符: 这给出: 他们说“没关系”,不是吗? 是的,他们说的是“好”。 使用Swift 5,您可以使用增强的定界符:
问题内容: 我知道python中的\ xb函数,但是它似乎对我不起作用。我知道我可能需要下载第三方模块来完成此任务,如果是这样,哪一个最好? 我目前正在编写一个二项式展开求解器,以尝试和使用我自学的技能。当我尝试显示用户输入的扩展用于确认时,就会出现问题。目前,我必须像这样打印表达式: 这将打印(2x4)^ 5,而我希望将索引打印为上标。如何才能做到这一点? 问题答案: 您可以使用为您执行必要格式
运行:
关于分色 为了重现彩色和连续色调图像,印刷商通常将图稿分为四个印版(称为印刷色),分别用于图像的青色、洋红色、黄色和黑色四种原色。还可以包括自定油墨(称为专色)。在这种情况下,要为每种专色分别创建一个印版。当着色恰当并相互套准打印时,这些颜色组合起来就会重现原始图稿。 将图像分成两种或多种颜色的过程称为分色;而用来制作印版的胶片则称为分色片。用彩色激光打印机打印的复合图像与用照排机打印的四色分色图
问题内容: 假设我有一个名为choice它的变量等于2。我将如何访问该变量的名称?相当于 用于制作字典。有一个很好的方法可以做到这一点,而我只是想念它。 编辑: 因此,这样做的原因是。我正在运行一些数据分析的东西,我在运行时使用多个我想调整或不调整的参数来调用程序。我从格式为.config的文件中读取了上次运行中使用的参数 当提示你输入值时,将显示先前使用的值,并且空字符串输入将使用先前使用的值。