Печатать на принтере UPS / Fedex Thermal? - PullRequest
5 голосов
/ 06 января 2010

У меня есть клиент, спрашивающий, может ли их веб-приложение (PHP) легко распечатать на термопринтере UPS / Fedex.

Так, например, я могу получить PDF от UPS / Fedex с этикеткой доставки. Мне просто нужно напечатать это.

Кто-нибудь знает, можете ли вы печатать напрямую на эти принтеры или, если нет, есть ли другой способ сделать это?

РЕДАКТИРОВАТЬ: Чтобы уточнить, все, что я хочу сделать, это иметь возможность печатать на этих принтерах без необходимости превращать мой клиент ALT-TAB в какое-либо стороннее приложение, такое как UPS Worldship или ShipRush или QuickBooks Shipping Manager, и нажимая кнопку Распечатать 'в этом приложении. Выполнимо?

Ответы [ 6 ]

4 голосов
/ 07 января 2010

Получение меток в правильном формате

API FedEx & UPS предоставляют опции для получения определенных типов тепловой маркировки. Вы будете биться головой о клавиатуру, пытаясь заставить PDF-файлы правильно печатать на термопринтерах.

Некоторые распространенные термические типы EPL / EPL2, ZPL / ZPLII. Большинство термопринтеров принимают документы, соответствующие одному из этих типов.

Для FedEx что-то подобное в вашем ShipRequest - это использование FedEx WSDL для доставки.

RequestedShipment.LabelSpecification.ImageType = FedExShipService.LabelSpecificationImageType.ZPLII

И UPS - Создание XML для отправки в службу UPS.

<LabelSpecification>
 <LabelPrintMethod>
  EPL2
 </LabelPrintMethod>
</LabelSpecification>

Печать этикеток

Вам необходимо будет отправлять «сырые» данные на принтер. Я начал с этой статьи и принял ее к своему решению. Например, FedEx возвращает байтовый массив, который содержит информацию метки - я преобразую это в строку и затем отправляю на принтер.

'Convert from Byte Array to String
Dim enc As System.Text.ASCIIEncoding = New System.Text.ASCIIEncoding()
Dim strConverter As String = enc.GetString(<ByteArrayFromFedEx>)

http://www.paulaspinall.com/post/2008/05/31/Sending-data-direct-to-a-printer.aspx

На SO также есть еще одна тема на эту тему.

Отправка необработанных данных на принтер этикеток FedEx

1 голос
/ 27 января 2011

Ваш лучший источник информации о том, как печатать, поступит с веб-сайтов производителей принтеров. Я упоминал эту статью в прошлом при разработке решений для клиентов, использующих API UPS. Отправка необработанного EPL2 напрямую в Zebra LP2844 через C # ".

В этом посте подробно рассказывается о печати этикеток из кода. Не пугайтесь, потому что в заголовке есть C #.

Производители хорошо справляются с предоставлением необходимой информации.

1 голос
/ 06 января 2010

Раньше я работал в системах доставки UPS, и да, вы можете печатать, используя термопринтеры. Для этого вам нужно установить правильные драйверы. В зависимости от того, как вы хотите печатать, также будет определяться, как вам нужно установить принтер (локальный или общий принтер). НТН

0 голосов
/ 23 марта 2011

Вы не сможете распечатать носитель PDF на устройстве, однако вы можете взять необработанный код EPL / ZPL с носителя и отправить его на принтер.

Существует элемент управления ActiveX от ИБП, который вы можете установить. Если вы вернете поток EPL с приложением типа MIME / epl2, элемент управления ActiveX получит данные и отправит их на термопринтер.

Google "ups thermal activex"

0 голосов
/ 10 января 2011

Этот апплет с открытым исходным кодом позволит вам печатать из PHP. Лично я держусь подальше от Java, но это может помочь.

http://code.google.com/p/jzebra/

0 голосов
/ 08 января 2010

У Shiprush есть API, который вы можете использовать для создания ярлыков из кода.Он довольно гибкий и может либо отправить этикетку на принтер, либо вернуть этикетку в ваш код, чтобы вы могли с ней справиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...