台灣最大程式設計社群網站
線上人數
1402
 
會員總數:243658
討論主題:188253
歡迎您免費加入會員
討論區列表 >> 其他語言 >> 請教ESC/POS command 印2個 QR Code如何放同一列
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請教ESC/POS command 印2個 QR Code如何放同一列
價值 : 100 QP  點閱數:1658 回應數:5

樓主

小高
初學者
350 22
520 92
發送站內信

請教如何將 ESC/POS command (熱感式出單機) 印2個 QR Code 時如何放同一列
目前我列印出來2個QR code 會變成分列,一上一下二行,不知該如何放在同一列上
感謝賜教~


搜尋相關Tags的文章: [ ESC/POS ] ,
本篇文章發表於2017-10-25 09:57
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
雖然不太明白ESC/POS command

但大約還是可以給你一些概念。

這邊其實列印的東西,你要將其視為一個指令一個動作。

我這奡N大約有看出一些問題。

如137行,你讓印表換行了。然後再印第二個qr。
光看這邊就一定知道是不對的。

這堣ㄩ犌p何是一定不能存在的。否則一定會變成二列。

再來就是超過我的知識範圍了。

只能說你要想辦法同時送第一跟第二的qr資料讓它可以一次印出來。

我推測要從第129行這邊下手。看要怎麼樣才能直接送兩個qr資料進去印出來。
本篇文章回覆於2017-10-25 14:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

小高
檢舉此回應
感謝 浩瀚星空 的提醒
目前將129行到153行中間有換行的指令全刪掉了

但變成 上下二個連在一起的QR CODE
繼續努研究~
本篇文章回覆於2017-10-26 18:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

邊玩玩
檢舉此回應
請問下有找出兩個QR code印在同一列的方式嗎?
本篇文章回覆於2017-12-21 19:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

sodesne
檢舉此回應
在 PAGE MODE 下將文字/圖檔/Barcode/QRCode 在頁面內位置定位指令

GS $ = Set absolute vertical print position in page mode (定位Y 軸)
GS $ nL Nh
如果定義列印位置離起印位置往下6cm 則
60mm/0.125mm = 480 = 256 *1 + 224
= 256*nH+nL
nH = 1
nL = 224

ESC $ = Set absolute print position (定位X 軸)
ESC $ nL nH
如果定義列印位置離左邊界1cm 則
10mm/0.125mm = 80 = 256*0 + 80
= 256*nH+nL
nH = 0
nL = 80
本篇文章回覆於2017-12-22 23:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

邊玩玩
檢舉此回應

一直卡在QR CODE在page mode列印不出,各位大大幫忙看是哪裡出了問題!
列印QRcode程式碼如下,目前是用com port列印
(原先用1樓樓主的程式碼是可以列印QR CODE但是QR CODE分成兩行)



$cmd .= ESC . "@"; // Initialize printer
//--- 第1個 QR Code -------------
$cmd .= ESC . chr(76); //page mode on
$cmd .= sprintf(ESC . "T%c", 1);//print direction
$cmd .= sprintf(ESC . "W%c%c%c%c%c%c%c%c", 0, 0, 0, 0, (52/0.125)%256, (int)(52/0.125) / 256, (25/0.125)%256, (int)(25/0.125) / 256);//set print erea in page mode
$cmd .= sprintf(GS . "$%c%c", (60/0.125)%256, (int)(60/0.125) / 256);//first qr code y position
$cmd .= sprintf(ESC . "$%c%c", (5/0.125)%256, (int)(5/0.125) / 256);//first qr code x position
$cmd .= sprintf(GS . "(k\x04\x00\x49%c%c%c", 65, 50, 0);//set qr code mode 2
$cmd .= sprintf(GS . "(k\x03\x00\x49%c%c", 69, 49); //set eorrection level
$cmd .= sprintf(GS . "(k\x03\x00\x49%c%c", 67, 3); // Set QR code size 3

// Set QR code data
$len = strlen($qr_data1) + 3;
$cmd .= sprintf(GS . "(k%c%c%c%c%c%s", $len % 256, (int)($len / 256) , 49, 80, 48, $qr_data1); //store qr code data

// Add QR code print command
$cmd .= sprintf(GS . "(k\x03\x00\x49%c%c", 81, 48);

$cmd .= chr(12); //page mode print

本篇文章回覆於2017-12-25 13:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.