2017-05-11 47 views
1

下午好,將ZPL字符串轉換爲JPG圖像和PDF

我目前正在開發一個動態生成ZPL字符串的項目。您可以在下面看到一個示例,您可以使用http://labelary.com/viewer.html查看標籤。有沒有可以將ZPL字符串轉換爲JPG圖像或PDF文件的軟件?

"^XA^FX Top section with company logo, name and address.^CF0,60^FO50,50^GB100,100,100^FS^FO75,75^FR^GB100,100,100^FS^FO88,88^GB50,50,50^FS^FO220,50^FDInternational Shipping, Inc.^FS^CF0,40^FO220,100^FD1000 Shipping Lane^FS^FO220,135^FDShelbyville TN 38102^FS^FO220,170^FDUnited States (USA)^FS^FO50,250^GB700,1,3^FS^FX Second section with recipient address and permit information.^CFA,30^FO50,300^FDJohn Doe^FS^FO50,340^FD100 Main Street^FS^FO50,380^FDSpringfield TN 39021^FS^FO50,420^FDUnited States (USA)^FS^CFA,15^FO600,300^GB150,150,3^FS^FO638,340^FDPermit^FS^FO638,390^FD123456^FS^FO50,500^GB700,1,3^FS^FX Third section with barcode.^BY5,2,270^FO175,550^BC^FD1234567890^FS^FX Fourth section (the two boxes on the bottom).^FO50,900^GB700,250,3^FS^FO400,900^GB1,250,3^FS^CF0,40^FO100,960^FDShipping Ctr. X34B-1^FS^FO100,1010^FDREF1 F00B47^FS^FO100,1060^FDREF2 BL4H8^FS^CF0,190^FO485,965^FDCA^FS^XZ" 

我正在尋找最有效的方法。我可以使用http://labelary.com API將ZPL轉換爲JPG,但API經常停止運行,因此歡迎任何有關庫的建議。然而,我們並不尋求圖書館,但建議轉化成一個ZPL字符串轉換成PDF/JPG

請保持在我的腦海,我們使用的是.NET的核心

+0

我對這個問題的迴應非常感興趣,但是因爲對圖書館的要求而被拒絕投票結束。 – Mitch

+0

@mitch我明白了,我可以重新提出這個問題,因爲我們不一定只是在尋找一個圖書館。我們的目標是找到一種允許沒有Zebra打印機的客戶打印標籤的方法。 – Lostaunaum

回答

0

經過一番研究似乎有這樣做的2種方式。使用labreary API

寧靜的電話:

byte[] zpl = Encoding.UTF8.GetBytes("^xa^cfa,50^fo100,100^fdHello World^fs^xz"); 

// adjust print density (8dpmm), label width (4 inches), label height (6 inches), and label index (0) as necessary 
var request = (HttpWebRequest) WebRequest.Create("http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/"); 
request.Method = "POST"; 
request.Accept = "application/pdf"; // omit this line to get PNG images back 
request.ContentType = "application/x-www-form-urlencoded"; 
request.ContentLength = zpl.Length; 

var requestStream = request.GetRequestStream(); 
requestStream.Write(zpl, 0, zpl.Length); 
requestStream.Close(); 

try { 
    var response = (HttpWebResponse) request.GetResponse(); 
    var responseStream = response.GetResponseStream(); 
    var fileStream = File.Create("label.pdf"); // change file name for PNG images 
    responseStream.CopyTo(fileStream); 
    responseStream.Close(); 
    fileStream.Close(); 
} catch (WebException e) { 
    Console.WriteLine("Error: {0}", e.Status); 
} 

如果你不能依賴於Web服務,需要有與做出來發送外部請求呼叫的能力。

我可以在本地使用Labelary引擎,而不依賴於公共Web服務嗎?

我們提供離線版本的Labelary引擎,授權本地使用 。請聯繫我們獲取授權信息。 http://labelary.com/faq.html

這使我們能夠打印出PDF和PNG格式的沒有一個斑馬打印機的客戶。