Печать непосредственно из HTTP-ответа

Я работаю с веб-службой доставки FedEx. Ответ SOAP содержит файл буфера принтера, который используется для создания транспортной этикетки. Можно ли отправить это прямо на принтер, чтобы файл никогда не сохранялся локально? Другими словами, кнопка «распечатать отгрузочную этикетку» выполнит запрос SOAP, и результатом успешного ответа будет печать этикетки принтером на основе данных в ответе SOAP.

Я использую PHP, если это поможет.


person aaron carlino    schedule 25.03.2011    source источник


Ответы (2)


Можно ли отправить это прямо на принтер, чтобы файл никогда не сохранялся локально?

Я не уверен, что это возможно с PHP. Печать работает по-разному в зависимости от операционной системы сервера.

Лучше всего записать данные, которые вам нужны, в файл и указать службе печати системы распечатать этот файл, а затем очистить файл через несколько минут.

Если ваш принтер использует IPP, тогда этот класс может помочь, хотя в инструкциях указано, что ему также нужен файл на диске для фактического выполнения печати.

person Charles    schedule 26.03.2011
comment
нет необходимости в файле на диске. Аргументом setData может быть имя файла или необработанные данные. is_readable используется для определения того, что происходит. - person plundra; 16.06.2012

Вместо того, чтобы возвращать HTML-ответ на кнопку отправки, верните тепловые данные с типом MIME application/epl2, и если у вас установлен элемент управления ActiveX от ИБП, данные будут загружены на ваш принтер.

Если вам нужно обновить пользовательский интерфейс после доставки, вам нужно будет каким-то образом сохранить данные (диск, переменная сеанса и т. д.) и, возможно, обновить пользовательский интерфейс, но затем выполнить перенаправление http на двоичные данные, чтобы они печатались.

person andyknas    schedule 22.06.2011