燕洪生/文
隨著信息技術(shù)的發(fā)展,用于數(shù)據(jù)自動(dòng)采集錄入的條碼標(biāo)簽被廣泛應(yīng)用于生產(chǎn)制造、流通、商業(yè)零售以及服務(wù)等各個(gè)環(huán)節(jié)。標(biāo)簽的規(guī)范使用直接影響管理系統(tǒng)的準(zhǔn)確性和時(shí)效性,一個(gè)標(biāo)準(zhǔn)、規(guī)范、易用的標(biāo)簽編輯、打印系統(tǒng),已成為現(xiàn)代信息管理系統(tǒng)最重要的基礎(chǔ)性工作之一。
由于各個(gè)系統(tǒng)建立的時(shí)間、承建商、采用的設(shè)備技術(shù)等都會有所不同,所以在實(shí)際工作場景中有多個(gè)條碼打印系統(tǒng),彼此間互不兼容。多個(gè)系統(tǒng)給管理帶來了諸多不便,用戶對條碼打印功能模塊化、通用化的需求日益強(qiáng)烈。原有的條碼打印工具與技術(shù)手段不能夠滿足現(xiàn)階段的使用要求,需要設(shè)計(jì)一套通用性的條碼打印解決方案,以減少信息系統(tǒng)建設(shè)的資金投入,降低信息系統(tǒng)的維護(hù)成本,提高對條碼打印業(yè)務(wù)需求變更的快速響應(yīng)能力。
通用條碼打印系統(tǒng),是針對用戶系統(tǒng)中對于條碼打印功能模塊化、通用化的需求,有針對性設(shè)計(jì)的一套通用性的條碼打印解決方案。系統(tǒng)采用統(tǒng)一的模板編輯工具編輯模板并定義數(shù)據(jù)項(xiàng)目,不同的應(yīng)用場景下,根據(jù)現(xiàn)有系統(tǒng)的特點(diǎn),選擇命令文件、服務(wù)通訊等多種形式發(fā)送打印數(shù)據(jù),簡單便捷高效地實(shí)現(xiàn)標(biāo)簽打印。系統(tǒng)上線運(yùn)行后,有效解決了之前用戶打印系統(tǒng)中遇到的諸多問題。
條碼標(biāo)簽樣式編輯模塊能夠自定義創(chuàng)建新的條碼標(biāo)簽樣式、條碼標(biāo)簽紙張大小及形狀、條碼中字體的樣式及大小、數(shù)據(jù)字段及數(shù)據(jù)字段在條碼標(biāo)簽中的位置等。
條碼數(shù)據(jù)編輯模塊可以支持常用的一維條碼和二維碼編碼格式;能夠直接錄入不同的條碼標(biāo)簽展示數(shù)據(jù);支持根據(jù)不同的參數(shù)生成相應(yīng)的條碼數(shù)據(jù)等。
條碼數(shù)據(jù)接口模塊能夠支持輪循讀取固定位置的xml、json、Excel 等格式的數(shù)據(jù),按照既定的條碼標(biāo)簽樣式,單獨(dú)或批量打印條碼;能夠提供自定義開發(fā)接口,供其他應(yīng)用系統(tǒng)調(diào)用,按照輸入的參數(shù),選擇條碼標(biāo)簽樣式打印條碼;能夠連接各類常用數(shù)據(jù)庫,讀取數(shù)據(jù)庫中數(shù)據(jù),按照既定的條碼標(biāo)簽樣式,單獨(dú)或批量打印條碼等。
條碼數(shù)據(jù)打印模塊中條碼標(biāo)簽文件能夠直接綁定相應(yīng)的打印機(jī);支持根據(jù)不同的傳入?yún)?shù),選擇不同的條碼標(biāo)簽樣式及批量打印等功能。
條碼數(shù)據(jù)存儲模塊能夠?qū)l碼打印數(shù)據(jù)記入條碼打印日志;根據(jù)條碼打印日志,自定義選擇條碼標(biāo)簽樣式,并批量重復(fù)打印條碼等。
能夠同時(shí)支持至少5個(gè)異構(gòu)系統(tǒng)不同類型的打印任務(wù),打印功能響應(yīng)在2 秒內(nèi);具備較好的性能,能夠支持一次任務(wù)下的至少500個(gè)條碼標(biāo)簽的打印工作;系統(tǒng)應(yīng)保證在Windows 各版本環(huán)境下正常使用,并考慮后續(xù)應(yīng)用于國產(chǎn)化操作系統(tǒng),具備良好的集成兼容性。
用戶在很短的時(shí)間內(nèi)能找到所需要的信息,做到功能分類準(zhǔn)確,文字描述貼切;支持操作限制提示,對用戶操作不正確的情況及時(shí)進(jìn)行提示,在錯(cuò)誤操作前對用戶的行為進(jìn)行提示與警告,減少用戶出錯(cuò)的可能性;支持操作前提示,在用戶進(jìn)行操作時(shí)給出使用提示,對于重要提示要采用突出顏色標(biāo)記;支持操作后提示,在用戶操作完畢后對所完成工作進(jìn)行提示,不需要完全采用彈窗的方式,避免用戶進(jìn)行多余操作;支持在用戶界面上展示交互信息等。
通用條碼打印系統(tǒng),是通過三個(gè)相互獨(dú)立但又互聯(lián)互通的系統(tǒng)來實(shí)現(xiàn)。
簽賦(LabelShop)軟件負(fù)責(zé)標(biāo)簽?zāi)0寰庉嫼蛿?shù)據(jù)項(xiàng)目定義,可以實(shí)現(xiàn)獨(dú)立的標(biāo)簽打印輸出功能;CodingVServer 打印服務(wù)程序?qū)崿F(xiàn)監(jiān)聽文件目錄打印功能,同時(shí)提供WebSocket和http等協(xié)議的打印服務(wù),滿足更多應(yīng)用場景(特別是網(wǎng)頁打印應(yīng)用)的打印需求。TLXLabelPaint 打印開發(fā)接口,滿足系統(tǒng)嵌入打印功能的需求。
通用條碼打印系統(tǒng)的建設(shè),遵循以下原則:
通用性遵循統(tǒng)一規(guī)范、統(tǒng)一標(biāo)準(zhǔn)、統(tǒng)一接口,其中標(biāo)簽?zāi)0宥x、數(shù)據(jù)項(xiàng)目定義、指令文件格式定義等,都遵循統(tǒng)一標(biāo)準(zhǔn);
成熟性采用成熟的系統(tǒng)和組件,確保使用過程中的可靠性和穩(wěn)定性;
可擴(kuò)展性具有良好的可擴(kuò)展性和良好的升級性,功能在可實(shí)現(xiàn)的基礎(chǔ)上,盡量采用可配置的形式,滿足未來發(fā)展的需要。
通用條碼打印系統(tǒng),以簽賦條碼標(biāo)簽打印軟件為基礎(chǔ)平臺,使系統(tǒng)最大限度地適應(yīng)技術(shù)發(fā)展變化需求,以確保系統(tǒng)的先進(jìn)性,延長系統(tǒng)的生命周期,提高用戶投資效益。友好的用戶操作界面,具備直觀易用的人機(jī)界面,使系統(tǒng)操作方便、快速、簡潔,滿足業(yè)務(wù)人員日常工作習(xí)慣和流程。本項(xiàng)目方案選擇和功能設(shè)計(jì)追求實(shí)用性,以降低用戶后期維護(hù)系統(tǒng)的成本。
系統(tǒng)應(yīng)用架構(gòu)
通用條碼打印系統(tǒng)由三個(gè)主要的軟件系統(tǒng)組成:用于標(biāo)簽?zāi)0寰庉嬕约皵?shù)據(jù)定義的簽賦、用于監(jiān)聽文件實(shí)現(xiàn)打印的CodingVServer打印服務(wù)器和用于系統(tǒng)集成的TLXLabelPaint二次開發(fā)接口。
系統(tǒng)技術(shù)架構(gòu)
系統(tǒng)由三個(gè)主要的子系統(tǒng)組成,如圖1所示。
圖1 系統(tǒng)技術(shù)架構(gòu)
標(biāo)簽編輯打印軟件
通用條碼打印系統(tǒng)標(biāo)簽編輯打印軟件(LabelShop)可以實(shí)現(xiàn)標(biāo)簽自由編輯排版功能,可以導(dǎo)入多種格式的數(shù)據(jù)庫,適用于多種品牌型號的專用條碼打印機(jī)以及各類通用打印機(jī)。
同時(shí),通用條碼打印系統(tǒng)標(biāo)簽編輯打印軟件還為CodingVServer 打印服務(wù)程序以及TLXLabel-Paint 二次開發(fā)接口提供標(biāo)簽?zāi)0寰庉嫼蛿?shù)據(jù)定義功能。通用條碼打印系統(tǒng)標(biāo)簽編輯打印軟件適用于標(biāo)簽管理員批量打印標(biāo)簽的場景。
標(biāo)簽打印服務(wù)器
通用條碼打印系統(tǒng)打印服務(wù)程序(CodingVServer)通過監(jiān)聽指定目錄中特定格式文件的變化,或通過Websocket、http 協(xié)議,或tcp/ip socket 協(xié)議接收打印指令,調(diào)用預(yù)先編輯的標(biāo)簽?zāi)0澹瑢?shí)現(xiàn)標(biāo)簽打印。
標(biāo)簽?zāi)0逍枰仁褂猛ㄓ脳l碼打印系統(tǒng)標(biāo)簽編輯打印軟件編輯完成,通過“命名變量”的方式定義數(shù)據(jù)項(xiàng)目。模板可以放置在指令的目錄中,或者部屬在遠(yuǎn)程服務(wù)器上(可通過http 協(xié)議獲?。?wù)程序監(jiān)聽或者接收到打印指令后,調(diào)用指定的模板,并根據(jù)指令數(shù)據(jù)打印標(biāo)簽。
CodingVServer 打印服務(wù)適用于用戶系統(tǒng)發(fā)送打印指令打印標(biāo)簽的模式,用戶系統(tǒng)不必做大的改動(dòng),只要按需生成指令文件即可。web 應(yīng)用程序通過網(wǎng)頁訪問打印服務(wù)之后,實(shí)現(xiàn)更高質(zhì)量的標(biāo)簽打印需求。
二次開發(fā)接口
TLXLabelPaint 打印庫是一個(gè)可以供用戶程序開發(fā)時(shí)調(diào)用的打印功能二次開發(fā)接口庫,采用標(biāo)準(zhǔn)的Windows 程序庫標(biāo)準(zhǔn),提供多個(gè)API 接口,可以被C++、C#、Java 等多種開發(fā)語言調(diào)用,實(shí)現(xiàn)嵌入用戶程序的標(biāo)簽打印功能。
通用條碼打印系統(tǒng),根據(jù)不同的應(yīng)用場景和需求,靈活實(shí)現(xiàn)多種類型的部署形式。需要批量條碼標(biāo)簽編輯打印的應(yīng)用場景,可以獨(dú)立部署使用通用條碼打印系統(tǒng)標(biāo)簽編輯打印軟件(LabelShop);對于應(yīng)用系統(tǒng)發(fā)送打印指令打印的場景,通過部屬通用條碼打印系統(tǒng)打印服務(wù)器(CodingVServer)來實(shí)現(xiàn);對于新開發(fā)的系統(tǒng)的嵌入式打印需求,通過在系統(tǒng)中集成通用條碼打印系統(tǒng)二次開發(fā)接口(TLXLabel-Paint打印接口庫)實(shí)現(xiàn)。
系統(tǒng)正式上線前,進(jìn)行高級用戶和普通用戶培訓(xùn),并提供系統(tǒng)安裝程序。系統(tǒng)常用參數(shù)保存在標(biāo)簽?zāi)0逯校瑢?shí)現(xiàn)系統(tǒng)的快速安裝部屬和參數(shù)配置。特別考慮到用戶的特殊應(yīng)用場景,在無法實(shí)現(xiàn)外網(wǎng)聯(lián)接的局域網(wǎng)環(huán)境中,專門設(shè)計(jì)了授權(quán)管理服務(wù)器,滿足了系統(tǒng)操作受控的需求。
用戶現(xiàn)有的多個(gè)系統(tǒng)跨越二十余年的時(shí)間,特別是很多還運(yùn)行在Windows XP 操作系統(tǒng)上,打印機(jī)品牌型號眾多,對條碼打印系統(tǒng)的兼容性要求很高,為此條碼打印系統(tǒng)所有的程序和模塊均對Windows XP 系統(tǒng)進(jìn)行了嚴(yán)格的兼容性測試。為了兼容多種品牌型號的打印機(jī),避免復(fù)雜的配置操作,系統(tǒng)提供無驅(qū)打印模式(即由打印系統(tǒng)直接驅(qū)動(dòng)打印機(jī),不需安裝打印機(jī)驅(qū)動(dòng)程序,打印機(jī)信息保存在標(biāo)簽?zāi)0逯?,打開模板自動(dòng)識別連接的打印機(jī))。為了避免多種驅(qū)動(dòng)程序帶來的參數(shù)配置的復(fù)雜性,系統(tǒng)提供了一致的打印機(jī)參數(shù)配置界面,簡化了用戶操作。
用戶希望為最新的網(wǎng)頁打印需求和老舊的應(yīng)用系統(tǒng)提供一致的使用體驗(yàn),有些系統(tǒng)采用單一的打印服務(wù)程序來實(shí)現(xiàn)命令文件監(jiān)聽服務(wù)和網(wǎng)頁打印服務(wù),并允許用戶根據(jù)實(shí)際系統(tǒng)需求開啟或關(guān)閉部分服務(wù)。
為了滿足未來應(yīng)用的需求,系統(tǒng)采用通用、開放的數(shù)據(jù)格式,包括模板文件格式和命令文件格式等。各個(gè)程序和模塊均采用通用的軟件產(chǎn)品而非定制應(yīng)用,條碼打印系統(tǒng)的功能可跟隨主流產(chǎn)品隨時(shí)升級,充分保護(hù)用戶投資。