nodejs IIP + pdfKit流打印原始pdf

时间:2018-12-04 06:31:31

标签: node.js pdf printing node-pdfkit

我正在开发一个nodejs Express Web服务。我需要直接在网络打印机(支持IPP,刚刚检查)上进行打印。我确实遵循了

https://github.com/williamkapke/ipp

Cannot print with node js ipp module

How to pipe a stream using pdfkit with node js

我可以查询打印机,获取打印机详细信息并打印原始文本文件。打印用pdfKit创建的pdf时出现问题。 如果我使用以下程序:

[...]

doc.on('end', function () {
    var printer = ipp.Printer("ipp://EPSON3D096F.local.:631/ipp/print");
    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.log("Printed: "+res.statusCode);
    });
});

[...]

打印机将打印原始PDF内容,例如

  

%PDF-1.3%����5 0 obj << / Type / Page / Parent 1 0 R / MediaBox [0 0 350   200] /目录3 0 R /资源4 0 R

     
    
      

endobj 4 0 obj << / ProcSet [/ PDF / Text / ImageB / ImageC / ImageI] / Font << / F2 6 0 R

             

endobj 7 0 obj << /生产者(PDFKit)/创建者(PDFKit)[...]

    
  

您可以猜到整个pdf都很长。

那么,我该如何告诉打印机八比特流包含PDF?

我用EPSOWF7620和Brother820NWB对其进行了测试。

打印机应该解释AFAIK应用程序/八位字节流,并猜测正确的文件格式。

谢谢

0 个答案:

没有答案