nodejs如何打印?

NodeJS的打印,在npm内,可以很容易找到ipp,这是一种目前比较流行的网络打印协议,在nodejs代码中通过require方法即可引入ipp模块。

使用ipp打印的方法:

安装ipp

$ npm install ipp

Printer(url [,options])

这是创建一个打印机的对象,URL,就是指的网络打印机的地址了,后面的options就是具体配置的参数。

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

//make a PDF document
var doc = new PDFDocument({margin:0});
doc.text(".", 0, 780);

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

上边这段代码简单释意了创建一个PDF文档,并且执行打印的任务

一些打印语句介绍:

printer.execute(operation, message, callback)

也就是通过打印机对象,对该打印机执行操作,

第一个参数就是操作的类型

第二个参数是对应的消息对象,也就是具体执行操作时用到的数据

第三个参数就是发起请求后的回调函数,可以返回一些执行的结果和状态

ipp.parse(buffer)

是用来将一个二进制的对象转换为IPP用的message,也就是上边的function的第二个参数

ipp.serialize(msg)

则相反,是讲一个message,转换为二进制的对象,实际用途就是下边这个方法

ipp.request(url, data, callback)

第一个参数是远程的打印机路径

第二个参数是序列化成二进制流的对象

第三个则是回调函数

以上就是nodejs如何打印?的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Node.js答疑