Я занимаюсь разработкой веб-службы nodejs Express.Мне нужно печатать прямо на сетевом принтере (который поддерживает IPP, только что проверил).Я следовал
https://github.com/williamkapke/ipp
Невозможно распечатать с узлом js ipp модуль
Как передать поток с помощью pdfkit с узлом js
и я могу запрашивать принтеры, получать информацию о принтере и распечатывать текстовый файл.У меня возникает проблема при печати PDF, созданного с помощью pdfKit.Если я использую процедуру:
[...]
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 << / Тип / Страница / Родительский 1 0 R / MediaBox [0 0 350 200] / Содержание 3 0 R / Ресурсы 4 0 R </p>
endobj 4 0 obj << / ProcSet [/ PDF / Text / ImageB / ImageC / ImageI] / Font << / F2 6 0 R </p>
endobj 7 0 obj << / Producer(PDFKit) / Creator (PDFKit) [...] </p>
Весь PDF довольно длинный, как вы можете догадаться.
Итак, что можетя делаю, чтобы сообщить принтеру, что поток октетов содержит PDF?
Я тестировал его с EPSOWF7620 и Brother820NWB.
Приложение AFAIK / поток октетов должен интерпретироваться принтером, угадываяправильный формат файла.
Спасибо