1. 程式人生 > >EPSON票據印表機列印LOGO圖片的一種方法

EPSON票據印表機列印LOGO圖片的一種方法

之前用過一個進入點陣圖模式的ESC指令來列印Logo圖片,但是打印出來的效果很差勁

今天發現一種列印圖片的辦法打印出來的效果比較好,其過程就是先把BMP圖片檔案上傳到印表機裝置中,然後在傳送一串自定義指令就可以打印出來Logo了,這裡是拿EPSON印表機來舉例

1. 安裝印表機驅動

    因為驅動程式裡面有上傳BMP圖片到印表機的功能,裝好驅動後選擇印表機右鍵 屬性你就可以看到如下圖

    

   點選Logo按鈕即可開啟logo上傳程式了

  

  首先在這個介面點選 Open file.. 選擇一張BMP格式的圖片,如果提示不支援,那麼請到這個網址轉換一下BMP格式

  線上轉換BMP格式

  

 這個介面是上傳選項卡,key code選擇 Custom,然後我們填入一個自定義Code 48,49 ,為什麼要填入key Code?

 因為可以上傳多張BMP圖片,傳送列印的時候這個key code就尤為關鍵了,最後就點選Upload Device,當提示成功後進入Logo Printout選項卡

 

 在這個介面看到了有Get key code按鈕,點選這個按鈕即可獲取所有上傳的圖片的key code,獲取到之後就可以選擇一個key code然後點選print按鈕即可列印了

2. 傳送的指令

  當我點選Print按鈕的時候,此時這個程式傳送列印圖片指令給印表機,如果程式想要呼叫肯定要得知傳送了什麼指令吧,

所以我就下載了個串列埠指令監聽工具,監聽內容如下


最後得知關鍵是這行指令來列印圖片的,其中關鍵的就是30,31 因為這裡是十六進位制的,如果把30,31轉換成十進位制就是 48,49

所以30,31就是key code

1B 40 1D 28 4C 06 00 30 45 30 31 01 01

 最後用程式碼寫入一段這樣的byte陣列就可以列印logo了

 comm.Write(new byte[] { 0x1B, 0x40, 0x1D, 0x28, 0x4C, 0x06, 0x00, 0x30, 0x45, 0x30, 0x31, 0x01, 0x01 });

 這樣的列印預設是左對齊方式,如果想要列印的圖片居中,請在圖片左邊填補空白內容

 最後附上一張效果圖