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

3

是否可以使用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.

有没有什么方法可以避开这个问题?还是说这根本不可能?
2个回答

3
  • AJAX和IPP唯一共同之处就是HTTP
  • IPP消息是字节编码而不是XML或JSON编码
  • 您需要将XML/JSON转换为正确的IPP(老实说:没有意义)
  • IPP服务器应支持CORS以避免尴尬的解决方法

https://www.npmjs.com/package/ipp上有一个纯JavaScript的IPP实现可用(不确定是否在浏览器中运行)

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


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接