是否可以从浏览器发送 ipp 打印作业?

问题描述 投票:0回答:2

是否可以使用ajax从浏览器发送IPP打印请求?

我认为它看起来像这样:

// Data to be sent
var data = "Testing\nTesting\n1\n2\n3";

// Jquery AJAX call
$.ajax("ipp://<printerip>:631", {
    'type': 'POST',
    'data': data,
    'complete': function(jqXHR, textStatus){
        alert('Result:'+textStatus)
    }
}); 

唯一的问题是我得到:

XMLHttpRequest cannot load ipp://<printerip>:631. 
Cross origin requests are only supported for HTTP.

有什么办法可以解决这个问题吗?或者这根本不可能?

javascript cross-domain ipp-protocol
2个回答
3
投票
  • AJAX 和 IPP 唯一的共同点是 HTTP
  • IPP 消息是字节编码不是 XML 或 JSON 编码
  • 您需要将 XML/JSON 转换为正确的 IPP(老实说:没有意义)
  • IPP 服务器应支持 CORS 以避免尴尬的解决方法

有一个纯 JavaScript IPP 实现,位于 https://www.npmjs.com/package/ipp(不确定它是否在浏览器中运行)

答案:使用 ajax 发送 IPP 请求是不可能


0
投票

有chrome扩展可以触发IPP打印。由于 chrome 没有提供任何特定于此的 API,我认为仅通过前端技术就可以触发 IPP 打印机。

© www.soinside.com 2019 - 2024. All rights reserved.