1. 程式人生 > 其它 >C# 呼叫條碼印表機列印標籤 (將標籤畫成html格式轉pdf,列印pdf)

C# 呼叫條碼印表機列印標籤 (將標籤畫成html格式轉pdf,列印pdf)


之前做TMS、WMS系統的時候,經常要對接條碼印表機來列印標籤。
市面上主流的條碼印表機有佳博,TSC,斑馬,博思得。
這幾個品牌印表機的官方SDK都大同小異,都是使用非託管dll呼叫函式,傳送指令給印表機。
標籤佈局是使用X Y軸來定位的,文字換行還得自己計算文字長度擷取換行,所以畫標籤樣式還挺費時間的。

最近公司有新需求,使用動態標籤。讓客戶自己隨時配置標籤的樣式:配置了樣式,後面列印標籤的格式就是這樣。

 

 

如果要做到這樣,顯然官方SDK是很困難的。因為本身XY軸就不好控制,而且官方SDK還不支援圖片,表格這些。並且還得為每個品牌印表機編寫程式碼,因為每個品牌的類庫,dll不一樣。

 

我想到的解決辦法是:列印標籤的時候根據動態標籤模板畫html,然後將html轉pdf,最後呼叫pdf印表機。

這樣做的好處是:印表機出來的標籤樣式基本上可以和配置的模板一樣。

        不需要每個品牌印表機都編寫標籤佈局程式碼了,不需要安裝印表機驅動,因為使用pdf列印。

 

下面是自己編寫demo時的經過

一、將html轉為pdf

我在百度上找到的幾種方式:TuesPechkin     wkhtmltopdf

TuesPechkin可以直接將html標籤轉為pdf,也可以將web網頁轉為pdf。

wkhtmltopdf必須要請求web網頁,將web網頁轉為pdf。

由於我這裡是CS端,所以沒有網頁,我就選擇TuesPechkin先。

使用TuesPechkin將html標籤字元轉為pdf