gpt4 book ai didi

node.js - 无法使用 Node js ipp 模块进行打印

转载 作者:搜寻专家 更新时间:2023-10-31 23:04:41 26 4
gpt4 key购买 nike

我有一个 pritter 通过 USB 端口连接到我的 PC。我运行的是 Windows 7。

下面是简单的代码:

var ipp=require('ipp')
var fs = require('fs');

fs.readFile('filename.pdf', function(err, data) {
if (err)
throw err;

var printer = ipp.Printer("http://localhost/ipp/printer");
var msg = {
"operation-attributes-tag": {
"requesting-user-name": "William",
"job-name": "My Test Job",
"document-format": "application/pdf"
},
data: data
};
printer.execute("Print-Job", msg, function(err, res){
if(err){
console.log(err);
}
console.log(res);
});
});

如何解析我的本地priter地址以将其写在这里:

var printer = ipp.Printer("http://localhost/ipp/printer");

?

最佳答案

这是一个很老的问题,但我刚刚用这个模块解决了我自己的问题。

工作示例:

var ipp = require("ipp");
var PDFDocument = require("pdfkit");

var doc = new PDFDocument;
doc.text("Hello World");

var buffers = [];
doc.on('data', buffers.push.bind(buffers));
doc.on('end', function () {

console.log(Buffer.concat(buffers));

var printer = ipp.Printer("http://192.168.1.50:631", {version:'1.0'});
var file = {
"operation-attributes-tag":{
"requesting-user-name": "User",
"job-name": "Print Job",
"document-format": "application/octet-stream"
},
data: Buffer.concat(buffers)
};

printer.execute("Print-Job", file, function (err, res) {
console.dir(res);
});
});
doc.end();

尽管 IPP github 页面上有当前示例,但较新版本的 IPP 要求您将数据格式化为流。

您必须尝试设置:打印机 URL版本参数(1.0 或 2.0,具体取决于您的打印机)以及重要的 文档格式

如果建立连接,运行以下命令将注销打印机的详细信息,如果您仍然遇到问题,这可以提供进一步的见解:

var ipp = require("ipp");
var printer = ipp.Printer('http://192.168.1.50:631', { //your printer's IP with the IPP port (631) appended
version: '1.0' //try 1.0 or 2.0
});

printer.execute('Get-Printer-Attributes', null, function (err, res) {
console.log(res);
});

关于node.js - 无法使用 Node js ipp 模块进行打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33610735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com