首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用节点js ipp模块进行打印。

无法使用节点js ipp模块进行打印。
EN

Stack Overflow用户
提问于 2015-11-09 13:55:33
回答 1查看 3.7K关注 0票数 4

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

下面是简单的代码:

代码语言:javascript
复制
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地址以在此处写入:

代码语言:javascript
复制
var printer = ipp.Printer("http://localhost/ipp/printer");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-27 10:33:08

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

工作实例:

代码语言:javascript
复制
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的新版本要求您将数据格式化为流,尽管IPP页面上有当前的示例。

您必须使用这些设置:打印机URL版本参数(取决于打印机的情况),更重要的是版本参数

如果建立了连接,运行以下命令的将注销打印机的详细信息,如果您继续存在问题,这将提供进一步的了解:

代码语言:javascript
复制
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);
});

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33610735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档