javascript - ELECTRON:图像文件(.png)在 Ubuntu 上静默打印
问题描述
我正在用 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 文件的结果。
我想知道是否有任何模块或命令。谢谢!
PS对不起我的英语不好:(
解决方案
您可以从 Node.js、iojs 和 node-webkit 在 POSIX 和 Windows 操作系统上使用本机绑定打印机。
npm install printer --target_arch=ia32
npm install printer --target_arch=x64
假设您正在安装 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
用于安装后的构建
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);
}
});
}
推荐阅读
- flutter - 颤振未处理的异常:WebSocketChannelException:WebSocketChannelException:SocketException:操作系统错误:连接被拒绝,errno = 111
- ruby-on-rails - Rails 更新操作//编辑表单未更新/未正确更新
- r - 为什么“汽车 %>% 过滤器(汽缸 == 8,mpg > 18)”在 R 中返回不正确的值?
- python - pyopengl/opengl 奇怪的重影效果删除的三角形即使在删除后也会出现
- react-native - TypeError:null 不是对象(评估'RNPaypal.requestOneTimePayment')
- javascript - 单击正确答案时如何使div消失?
- javascript - 将鼠标悬停在框上,它应该随机更改其位置删除jquery而不影响代码
- amazon-s3 - 从 Sagemaker 上的 Scikit Learn 图像将预处理的输出 CSV 写入 S3
- php - PHP 电子邮件表单问题:无法发布
- google-sheets - 对谷歌表格中的每一行应用随机函数