- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试使用 IPP(Internet 打印协议(protocol))在第二个纸盘上打印文档。我正在使用这个 npm IPP-Library .
但在任何时候我尝试打印文档时,我的打印机都会显示一条消息,我需要将纸张添加到第一个纸盘,控制台输出显示 Printed: successful-ok
.
var ipp = require("ipp");
var PDFDocument = require("pdfkit");
var concat = require("concat-stream");
var doc = new PDFDocument;
doc.text("Hello World");
doc.pipe(concat(function (data) {
var printer = ipp.Printer("MY_URL");
var file = {
"operation-attributes-tag": {
"requesting-user-name": "admin",
'attributes-charset': 'utf-8',
'attributes-natural-language': 'de'
},
"printer-attributes": {
"media-col": {
"media-source": "tray-2"
},
},
data: data
};
printer.execute("Print-Job", file, function (err, res) {
console.log("Printed: " + res.statusCode);
});
}));
doc.end();
我尝试的另一个变体如下(来自 here):
var PDFDocument = require("pdfkit");
let fs = require('fs')
var ipp = require('ipp');
var uri = "http://10.1.205.71";
var msg = new Buffer(
'0200'+ //Version
'000201e6d5f2'+
'01'+ //Operation attributes tag (your information in the Operation attributes might be different)
'47'+ //charset tag
'0012'+ //length
'617474726962757465732d63686172736574'+ //attributes-charset
'0005'+ //length
'7574662d38'+ //utf-8
'48'+ //natural language tag
'001b'+ //length
'617474726962757465732d6e61747572616c2d6c616e6775616765'+//attributes-natural-language
'0002'+//length
'656e'+ //en
'45'+ // URI tag
'000b'+ //length
'7072696e7465722d757269'+ //printer-uri
'0012'+//length
'687474703a2f2f31302e312e3230352e3731'+//http://10.1.205.71
'49'+ //mimeMediaType tag
'000f'+ //length
'646f63756d656e742d666f726d6174'+ //document format
'000f'+ //length
'6170706c69636174696f6e2f706466'+ //application/pdf
'02'+ //job attributes tag
'34'+ //begin collection
'0009'+ //length
'6d656469612d636f6c'+ //media-col
'0000'+ //value length
'4a'+ //collection entry
'0000'+ //name length
'000c'+ //value length
'6d656469612d736f75726365'+ //media-source
'44'+ // collection entry
'0000'+ //name length
'0006'+ //value length
'747261792d32'+ //tray-2
'37'+ //end of collection
'00000000'+ //name length and value length
'03', 'hex');
var doc = new PDFDocument;
doc.text("Hello World");
var buffers = [];
doc.on('data', buffers.push.bind(buffers));
doc.on('end', function(){
var buf = Buffer.concat(buffers);
var catBuf = Buffer.concat([msg, buf]);
ipp.request(uri, catBuf, function(err, res){
if(err){
return console.log(err);
}
console.log(JSON.stringify(res,null,2));
});
});
doc.end();
但后来我收到了这个错误信息:
{
Error
at new IppResponseError (/Users/alex/dev/print/printing/node_modules/ipp/lib/request.js:72:17)
at ClientRequest.<anonymous> (/Users/alex/dev/print/printing/node_modules/ipp/lib/request.js:40:8)
at Object.onceWrapper (events.js:293:19)
at emitOne (events.js:96:13)
at ClientRequest.emit (events.js:191:7)
at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:522:21)
at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
at Socket.socketOnData (_http_client.js:411:20)
at emitOne (events.js:96:13)
at Socket.emit (events.js:191:7)
name: 'IppResponseError',
statusCode: 400,
message: 'Received unexpected response status 400 from the printer',
stack: 'Error\n at new IppResponseError (/Users/alex/dev/print/printing/node_modules/ipp/lib/request.js:72:17)\n at ClientRequest.<anonymous> (/Users/alex/dev/print/printing/node_modules/ipp/lib/request.js:40:8)\n at Object.onceWrapper (events.js:293:19)\n at emitOne (events.js:96:13)\n at ClientRequest.emit (events.js:191:7)\n at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:522:21)\n at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)\n at Socket.socketOnData (_http_client.js:411:20)\n at emitOne (events.js:96:13)\n at Socket.emit (events.js:191:7)' }
400 'response'
我的打印机不支持 IPP,但我在我的 Macbook 上共享它,它为所有共享打印机提供 IPP 服务。如果我使用第一个纸盘并且里面有纸,一切都很好,但是对于我的项目,也有必要在其他纸盘上打印。
从 Get-Printer-Attributes
返回的属性列表在其他纸盘中列出支持的第二张纸media-source
,但只有第一个纸盘有效。
有人知道如何在另一个纸盘上成功打印吗?
更新:我也尝试了另一台打印机,但我得到了同样的错误。
22.06.17 更新:它仍然很困惑,不知道如何解决这个问题。
最佳答案
看来 this pull request也许能够解决您遇到的问题。在 ipp
的作者合并拉取请求之前,您可以通过在项目目录中运行以下命令来更新您的 npm 包以指向该补丁:
npm i --save ipp@github:jaymcaliley/ipp
关于javascript - 无法通过 IPP 在另一个纸盘上打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44144159/
IPP 是否对其处理的数据(例如对齐等)提出了任何要求? 最佳答案 在 Windows 上,使用 x86 二进制文件(这是我目前使用的全部),您不需要对齐内存,但 userguide_win_ia32
我有一个设备/电器,您无法为其安装驱动程序。我想通过让用户添加 IP 地址来添加支持网络/IPP/AirPrint 打印机的功能。 由于我不通过 Windows 进行打印(这将使用 IPP),我该如何
IPP <= 7.1 具有特殊的就地函数。 在 IPP 8 中,它们已被弃用:deprecation-summary 尚不清楚新的异地函数是否也支持就地操作。 我的猜测是,对于某些函数,可以为 src
我正在阅读这篇有趣的文章 article关于 IPP 调度程序。在某些地方它写道:调度指的是在运行时检测 CPU 功能然后选择与您的 CPU 相对应的英特尔 IPP 优化库集的过程。例如,在\ia32
我正在试验 Intel Integrated Performance Primitives (IPP) ,我很好奇在 IPP 中进行 2D 卷积的“正确方法”。 根据英特尔 IPP 文档,ippiCo
我已直接向 Intel 查询,但仍处于待定状态。基本上我已经非常严格地搜索了互联网,但无法确定异步库是否描述了 here可作为从 here 下载的库的一部分使用. 注意:我实际上安装了学生版的Inte
目前我们在我们的应用程序中使用 IPP 5.2,我尝试将其替换为带有 Nuget 包的 IPP 2019。我不明白 resize with CUBIC 在 IPP 5.2 和 IPP 2019 之间的
我遇到了 CUPS-Get-Devices 缺少必需属性的问题。基本上,我想使用 https://www.npmjs.org/package/ipp 获取带有 IPP 和 CUPS 的可用打印机列表。
我正在尝试更新 1500 个 QuickBooks Online 库存项目的现有数量。我可以从商店中提取 1500 种产品。 这个更新可以做吗?我看到手头没有数量的物品: https://develo
我得到了这份工作:1。产生一个正弦信号。2。使用 FFT 构建其频谱。首先,我为 visual studio 2010 安装了 Intel Parallel Studio XE 2011。在 vs 2
是否可以使用 ajax 从浏览器发送 IPP 打印请求? 我假设它看起来像这样: // Data to be sent var data = "Testing\nTesting\n1\n2\n3";
我有不是自己写的源码,联系不上作者。它是用 C++ 编写的,需要 libjpeg、boost 和 Intel Performance Primitives。 编译是一件苦差事,但经过几天的问题解决后,
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及
我在 Linux 中编写了一个转换声音的程序。我使用英特尔 IPP(集成性能原语)库。我添加了 ipps 和 ippcore 库: LIBS += -L$$PWD/../../../../opt/in
我已经在我的机器上安装了英特尔 IPP,我遵循了具体的步骤,您可以在这里找到它: http://software.intel.com/en-us/articles/intel-integrated-p
我在使用 ipp 支持构建 opencv 时遇到了一些问题。我在 debian squeeze 32 位和最新的 ipp 英特尔版本(完整的 composer 包)上使用 cmake-gui。 我认为
我正在做一些 C++ 优化工作,需要没有任何平均偏移或规范化缩放操作的普通版互相关。我知道在图像数据的正常情况下,使用上述方法可以消除亮度的影响,因此只能识别结构相似性,但在我们的应用程序中实际上需要
我正在阅读英特尔的 Integrated Performance Primitives C 和 C++ 库。他们提到外线程是新功能之一。 New API’s for external threadin
目前,我正在尝试以编程方式获取开始打印作业的用户的名称到映射的IPP printer . 我正在为 JOB_INFO_2 structure 的事实而苦苦挣扎的成员 pUserName 包含用于连接到
我正在尝试使用 IPP(Internet 打印协议(protocol))在第二个纸盘上打印文档。我正在使用这个 npm IPP-Library . 但在任何时候我尝试打印文档时,我的打印机都会显示一条
我是一名优秀的程序员,十分优秀!