Можно ли отправить задание печати ipp из браузера? - PullRequest
2 голосов
/ 16 марта 2012

Можно ли отправить запрос на печать IPP из браузера, используя ajax?

Я предполагаю, что это будет выглядеть примерно так:

// 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 ]

2 голосов
/ 29 января 2015
  • Единственное, что объединяет AJAX и IPP - это HTTP
  • Сообщения IPP кодируются в байтах не кодируются в XML или JSON
  • Вам нужно будет конвертировать XML / JSON в правильный IPP (честно: не имеет смысла)

Существует чистая реализация JavaScript IPP, доступная по адресу https://www.npmjs.com/package/ipp (не уверен, работает ли она в браузерах)

Ответ: невозможно отправить запрос IPP, используя ajax .

0 голосов
/ 10 августа 2018

Существуют расширения Chrome, которые могут запускать печать IPP.Поскольку chrome не предоставляет никаких специфических API для этого, я предполагаю, что можно запускать принтер IPP только по технологии Frontend.

...