javascript - 节点打印机不在网络打印机中打印(node.js)
问题描述
我正在尝试将文档直接发送到我的打印机。我使用了节点打印机并且没有错误,但打印机没有收到任何东西。这是我的代码:
var printer = require("printer");
filename = process.argv[2] || __filename;
console.log('platform:', process.platform);
console.log('default printer name: ' + (printer.getDefaultPrinterName() || 'is not defined on your computer'));
console.log('try to print file: ' + filename);
if( process.platform != 'win32') {
printer.printFile({filename:filename,
printer: process.env[3],
success:function(jobID){
console.log("sent to printer with ID: "+jobID);
},
error:function(err){
console.log(err);
}
});
} else {
var fs = require('fs');
printer.printDirect({
data:fs.readFileSync(filename).toString(),
printer: process.env[3],
type: 'RAW',
success:function(jobID){
console.log("sent to printer with ID: "+jobID);
},
error:function(err){
console.log(err);
}
});
我测试了“node print.js lorem.txt”,看起来文档被发送到打印队列,但网络打印机没有收到任何东西。
顺便说一句,我正在使用 Windows 10。
解决方案
您正在指定打印机,printer: process.env[3]
但看起来您想使用默认打印机,因为您正在写入printer.getDefaultPrinterName()
控制台,所以请尝试删除printer: process.env[3],
并让模块在默认打印机中打印,看看是否能解决您的问题。
推荐阅读
- laravel - 在 laravel 刀片上使用 Carbon Model 路径错误
- c# - C# 如何在运行时更新 Visual Studio 2107 xxx.exe.config 绑定?
- spring - 在 Spring Context 加载实际的 Spring Bean 之前是否模拟了一个模拟 bean (@MockBean)?
- vba - Excel VBA,转换数据导致excel崩溃
- r - 遍历 R dplyr 中的列和行值(列表)
- ios - 我的 Xamarin IOS 应用程序导致 SIGABRT 崩溃
- angular - Angular 6 转换为对象
- ruby - 红宝石:is_a?和instance_of?在基本对象
- r - 如何创建循环以在模拟中生成不断增加的样本量
- python - 时间戳写在哪个时区转推