譯者 | 涂承燁
審校 | 孫淑娟 梁策
標(biāo)簽打印機(jī)可以支持TSPL、ZPL、EPL等編程語言。本文將簡(jiǎn)要介紹TSPL語言。我們可以使用諸如TEXT(文本)、BARCODE(條形碼)和QRCODE(二維碼)之類的TSPL命令構(gòu)建標(biāo)簽。比如,如果我們想打印帶有文本和條形碼的標(biāo)簽,我們可以使用這些命令及其屬性(比如位置或大小),然后通過藍(lán)牙或串行連接將這些命令發(fā)送到標(biāo)簽打印機(jī)。
在上圖中,你可以看到,左側(cè)是TSPL命令,右側(cè)是打印出來的標(biāo)簽。
你可以在??這里??找到所有可用的命令。下面我們先來看看其中一部分,通過這些命令了解如何使用TSPL。
坐標(biāo)和尺寸(以點(diǎn)為單位)
無論是TEXT(文本)、BARCODE(條形碼)還是BITMAP(位圖),通常坐標(biāo)和大小都以點(diǎn)為單位。每英寸點(diǎn)數(shù)取決于打印機(jī)的DPI。
例如,如果打印機(jī)是:
- 203 DPI -> 表示一英寸內(nèi)有203個(gè)點(diǎn),或一毫米內(nèi)有8個(gè)點(diǎn)。
- 300DPI -> 表示一英寸內(nèi)有300個(gè)點(diǎn),或一毫米內(nèi)有11.8個(gè)點(diǎn)。
根據(jù)上面這些規(guī)則,如果要添加高度為10mm的條形碼,且打印機(jī)為203DPI,則應(yīng)將高度設(shè)置為80(10毫米*8=80點(diǎn))。
標(biāo)簽的尺寸和間隙
需要告訴打印機(jī)標(biāo)簽的大小,像這樣:
這說明標(biāo)簽的尺寸是4x1英寸。
也可以用公制單位(毫米mm)來設(shè)置它:
可以設(shè)置標(biāo)簽之間的間距(GAP m,n)。
這里的間距為零英寸,意味著它是一個(gè)連續(xù)的標(biāo)簽。
文本
我們可以使用TEXT命令在標(biāo)簽上打印文本,可給出位置、字體大小、旋轉(zhuǎn)等屬性:
條形碼
我們可以使用條形碼命令向標(biāo)簽添加條形碼:
示例命令:
結(jié)果:
打印和結(jié)束命令
構(gòu)建標(biāo)簽后,我們需要告訴打印機(jī),標(biāo)簽已準(zhǔn)備好打印。我們使用PRINT m[,n]命令來執(zhí)行此操作:
以上命令打印了三個(gè)標(biāo)簽,一個(gè)標(biāo)簽帶有“Text 1”,兩個(gè)標(biāo)簽帶有“Text 2”。
我們?cè)谀┪蔡砑覧ND命令,告訴打印機(jī)我們已經(jīng)完成打印。沒有這個(gè)命令,打印機(jī)可能不會(huì)在緩沖區(qū)打印最后一張圖像。
用JavaScript打印(Node.js)
生成的命令可以通過串行或藍(lán)牙發(fā)送到打印機(jī)。為了證明這一點(diǎn),我使用Node創(chuàng)建了一個(gè)簡(jiǎn)單的代碼。我使用“usb”軟件包連接及發(fā)送命令(在Windows上可能需要安裝驅(qū)動(dòng)程序,??了解更多信息請(qǐng)?jiān)L問軟件包的頁面??)。
結(jié)果:
當(dāng)我在Alto的POS&Inventory項(xiàng)目上實(shí)現(xiàn)此功能時(shí),需要逐個(gè)收集有關(guān)打印標(biāo)簽的信息。希望此文對(duì)想要學(xué)習(xí)標(biāo)簽打印的人士有所幫助。
譯者介紹
涂承燁,51CTO社區(qū)編輯,信息系統(tǒng)項(xiàng)目管理師、信息系統(tǒng)監(jiān)理師、PMP,某省綜合性評(píng)標(biāo)專家,擁有15年的開發(fā)經(jīng)驗(yàn)。對(duì)項(xiàng)目管理、前后端開發(fā)、微服務(wù)、架構(gòu)設(shè)計(jì)、物聯(lián)網(wǎng)、大數(shù)據(jù)等較為關(guān)注。目前就職于壹體技術(shù)有限公司,從事較大型項(xiàng)目管理工作。
原文標(biāo)題:??How to Print labels with TSPL and JavaScript??,作者:Altynbek Usenbekov