Lia*_*oun 5 javascript ubuntu electron
我正在用 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"`);
Run Code Online (Sandbox Code Playgroud)
我应该在 Ubuntu 中做什么?
我想要实现的是通过按下按钮打印用户选择完成的照片。
当我进行搜索时,我只能得到 PDF 文件的结果。
我想知道是否有任何模块或命令。谢谢!
PS抱歉我的英语不好:(
您可以通过 Node.js、iojs 和 node-webkit 在 POSIX 和 Windows 操作系统上使用本机绑定打印机。
npm install printer --target_arch=ia32
npm install printer --target_arch=x64
Run Code Online (Sandbox Code Playgroud)
假设您正在安装 1.4.5 电子版本。请检查发行版以获取支持的 Electron 版本
npm install printer --runtime=electron --target=1.4.5 --target_arch=x64
npm install printer --runtime=electron --target=1.4.5 --target_arch=ia32
Run Code Online (Sandbox Code Playgroud)
用于安装后构建
npm install -g node-gyp
npm install printer --msvs_version=2013 --build-from-source=node_printer
Run Code Online (Sandbox Code Playgroud)
打印文件:
// 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);
}
});
}
Run Code Online (Sandbox Code Playgroud)