2010-01-06 291 views
4

我有一個客戶詢問他們的Web應用程序(PHP)是否可以輕鬆地打印到UPS/Fedex熱敏標籤打印機。打印到UPS/Fedex熱敏打印機?

因此,例如,我可以從UPS/Fedex獲取帶有運輸標籤的PDF。我只需要打印。

有誰知道你是否可以直接打印到這些打印機,或者,如果沒有,如果有另一種方法來做到這一點?

編輯:爲了澄清,我想完成的所有工作是能夠打印到這些打印機,而不必讓我的客戶端ALT-TAB到UPS Worldship或ShipRush或QuickBooks Shipping Manager等一些第三方應用程序,然後單擊在該應用程序中打印。 DO-能?

+1

你想PHP打印到掛接到服務器的打印機,或者提供一個PDF給客戶打印? – Seth 2010-01-06 18:18:23

+0

只要我可以通過熱敏打印機打印UPS或Fedex運輸標籤,*不使用UPS Worldship或ShipRush或某些其他第三方裝運應用程序,我並不十分關心這種或那種方式。 – 2010-01-06 18:25:52

回答

4

獲取標籤以正確的格式

聯邦快遞UPS & API提供的選項來獲得熱敏標籤特定類型。你會在鍵盤上打敗你的頭,試圖讓PDF在熱敏打印機上正確打印。

一些常見的散熱類型EPL/EPL2,ZPL/ZPLII。大多數熱敏打印機將接受符合這些類型之一的文檔。

對於聯邦快遞公司在您的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另一個線程這個話題。

Sending raw data to FedEx Label printer

+0

好的,所以一旦我找回那些EPL2圖像,我需要做些什麼來打印它們?這些是我可以直接打開並打印的文件格式,還是...? – 2010-01-07 20:56:31

+0

在答案中添加了更多關於打印的信息。 – 2010-01-07 22:46:00

1

我曾經在UPS運輸系統上工作,是的,您可以使用熱敏打印機進行打印。您需要安裝正確的驅動程序才能執行此操作。根據打印方式的不同,也將決定您需要如何安裝打印機(本地或共享打印機)。 HTH

+0

它們可以像普通的Windows圖形打印機一樣工作,也可以使用自己的ASCII命令進行文本和條形碼打印。一定要選擇正確的驅動程序。 – 2010-01-08 20:50:45

+0

他們只是OEM'ed斑馬和其他熱敏打印機。 – 2010-01-08 20:52:20

0

Shiprush有你可以用它來生成代碼標籤的API。它非常靈活,可以將標籤發送到打印機,也可以將標籤返回給代碼供您處理。

1

你最好的信息如何打印將來自打印機manufacturors網站源。我在過去爲開發消費UPS API的客戶開發解決方案時提到了這篇文章。 Sending Raw EPL2 Directly to a Zebra LP2844 via C#"

此博客文章詳細介紹了從代碼打印標籤。不要被嚇倒,因爲它的標題中有C#。

製造商提供您需要的信息的工作做得很好。

0

您將無法將載體PDF打印到設備,但是您可以從載體上取得原始EPL/ZPL代碼並將其發送到打印機。

有一個可以從UPS安裝的ActiveX控件。如果您使用MIME類型的應用程序/ epl2返回EPL流,則ActiveX控件將採集數據並將其發送給熱敏打印機。

谷歌「跌宕熱的ActiveX」