我正在用Electron制作一个基于Ubuntu的照片打印程序。
当我在Windows上制作时, 我将图像保存为PNG,并使用下面的代码调用Windows内置软件(shimgvw.dll(。
await execPromise(`rundll32.exe c:\windows\System32\shimgvw.dll,ImageView_PrintTo /pt "${process.cwd()}\saved_image.png" "MY_PRINTER_MODEL_NAME"`);
我应该在 Ubuntu 中做什么?
我要实现的是按按钮打印用户选择完成构图的照片。
当我进行搜索时,我只得到PDF文件的结果。
我想知道是否有任何模块或命令。 谢谢!
附言对不起,我的英语:(不好
您可以在 POSIX 和 Windows OS 上使用 Node.js、iojs 和 node-webkit 的 Native bind 打印机。
npm install printer --target_arch=ia32
npm install printer --target_arch=x64
假设您正在安装 1.4.5 电子。请查看版本以获取支持的电子版本
npm install printer --runtime=electron --target=1.4.5 --target_arch=x64
npm install printer --runtime=electron --target=1.4.5 --target_arch=ia32
用于安装后构建
npm install -g node-gyp
npm install printer --msvs_version=2013 --build-from-source=node_printer
要打印文件:
// use: node printFile.js [filePath printerName]
var printer = require("../lib"),
filename = process.argv[2] || __filename;
console.log('platform:', process.platform);
console.log('try to print file: ' + filename);
if( process.platform != 'win32') {
printer.printFile({filename:filename,
printer: process.env[3], // printer name, if missing then will print to default printer
success:function(jobID){
console.log("sent to printer with ID: "+jobID);
},
error:function(err){
console.log(err);
}
});
} else {
// not yet implemented, use printDirect and text
var fs = require('fs');
printer.printDirect({data:fs.readFileSync(filename),
printer: process.env[3], // printer name, if missing then will print to default printer
success:function(jobID){
console.log("sent to printer with ID: "+jobID);
},
error:function(err){
console.log(err);
}
});
}