Javascript 是否可以使用node.js打印图像?
好的,所以我尝试从网页打印(典型的“打印”按钮,但我不想显示打印对话框),所以我决定使用已经存在的node.js后端来完成这项任务(主要是因为没有打印对话框,从浏览器打印几乎是不可能的) 我找到了node printer()模块,它工作得很好,但只适用于文本。我试图发送原始数据,但它所做的是打印原始字符。我真正需要的是打印一个徽标,以及一些转弯信息(这是为客户服务机构准备的) 此外,打印机必须安装在本地,因此我不能使用IPPJavascript 是否可以使用node.js打印图像?,javascript,node.js,printing,Javascript,Node.js,Printing,好的,所以我尝试从网页打印(典型的“打印”按钮,但我不想显示打印对话框),所以我决定使用已经存在的node.js后端来完成这项任务(主要是因为没有打印对话框,从浏览器打印几乎是不可能的) 我找到了node printer()模块,它工作得很好,但只适用于文本。我试图发送原始数据,但它所做的是打印原始字符。我真正需要的是打印一个徽标,以及一些转弯信息(这是为客户服务机构准备的) 此外,打印机必须安装在本地,因此我不能使用IPP 是否有任何方法可以使用node.js打印图像或图像与文本的组合?它可以
是否有任何方法可以使用node.js打印图像或图像与文本的组合?它可以通过节点打印机完成,还是有其他方法?我结束了调用exe为我完成工作的过程。我使用一个child_进程来调用,它为我完成所有的打印工作。我的代码是这样结束的:
var exec = require('child_process').exec;
exec('printhtml.exe file=file.html', function(err, data) {
console.log(data.toString());
});
实际上,您可以使用
节点打印机打印图像。这是我的工作
var Printer = require('node-printer');
var fs = require('fs');
// Get available printers list
var listPrinter = Printer.list();
// Create a new Pinter from available devices
var printer = new Printer('YOUR PRINTER HERE. GET IT FROM listPrinter');
// Print from a buffer, file path or text
var fileBuffer = fs.readFileSync('PATH TO YOUR IMAGE');
var jobFromBuffer = printer.printBuffer(fileBuffer);
// Listen events from job
jobFromBuffer.once('sent', function() {
jobFromBuffer.on('completed', function() {
console.log('Job ' + jobFromBuffer.identifier + 'has been printed');
jobFromBuffer.removeAllListeners();
});
});
我成功地使用了节点IPP包
文档中的示例代码使用另一个节点模块PDFKIT将html/文件转换为PDF,但不起作用。请参见我的回答:有关一个工作示例。节点打印机使用硬编码参数在posix上调用lpr
,因此我认为您无法使用它打印图像。您是否正在尝试打印到客户端浏览器连接的打印机?或者打印到node.js服务器所连接的打印机上?node.js服务器也将在客户端计算机上运行(是一个用于打印的系统),如果您创建本地web应用,则可能有助于打开…对于已安装python和Visual Studio(如果是windows)的节点打印机对吗?listPrinter
在我的例子中是空的,尽管我已经安装了打印机。有什么想法吗?