燕洪生/文
隨著信息技術的發展,用于數據自動采集錄入的條碼標簽被廣泛應用于生產制造、流通、商業零售以及服務等各個環節。標簽的規范使用直接影響管理系統的準確性和時效性,一個標準、規范、易用的標簽編輯、打印系統,已成為現代信息管理系統最重要的基礎性工作之一。
由于各個系統建立的時間、承建商、采用的設備技術等都會有所不同,所以在實際工作場景中有多個條碼打印系統,彼此間互不兼容。多個系統給管理帶來了諸多不便,用戶對條碼打印功能模塊化、通用化的需求日益強烈。原有的條碼打印工具與技術手段不能夠滿足現階段的使用要求,需要設計一套通用性的條碼打印解決方案,以減少信息系統建設的資金投入,降低信息系統的維護成本,提高對條碼打印業務需求變更的快速響應能力。
通用條碼打印系統,是針對用戶系統中對于條碼打印功能模塊化、通用化的需求,有針對性設計的一套通用性的條碼打印解決方案。系統采用統一的模板編輯工具編輯模板并定義數據項目,不同的應用場景下,根據現有系統的特點,選擇命令文件、服務通訊等多種形式發送打印數據,簡單便捷高效地實現標簽打印。系統上線運行后,有效解決了之前用戶打印系統中遇到的諸多問題。
條碼標簽樣式編輯模塊能夠自定義創建新的條碼標簽樣式、條碼標簽紙張大小及形狀、條碼中字體的樣式及大小、數據字段及數據字段在條碼標簽中的位置等。
條碼數據編輯模塊可以支持常用的一維條碼和二維碼編碼格式;能夠直接錄入不同的條碼標簽展示數據;支持根據不同的參數生成相應的條碼數據等。
條碼數據接口模塊能夠支持輪循讀取固定位置的xml、json、Excel 等格式的數據,按照既定的條碼標簽樣式,單獨或批量打印條碼;能夠提供自定義開發接口,供其他應用系統調用,按照輸入的參數,選擇條碼標簽樣式打印條碼;能夠連接各類常用數據庫,讀取數據庫中數據,按照既定的條碼標簽樣式,單獨或批量打印條碼等。
條碼數據打印模塊中條碼標簽文件能夠直接綁定相應的打印機;支持根據不同的傳入參數,選擇不同的條碼標簽樣式及批量打印等功能。
條碼數據存儲模塊能夠將條碼打印數據記入條碼打印日志;根據條碼打印日志,自定義選擇條碼標簽樣式,并批量重復打印條碼等。
能夠同時支持至少5個異構系統不同類型的打印任務,打印功能響應在2 秒內;具備較好的性能,能夠支持一次任務下的至少500個條碼標簽的打印工作;系統應保證在Windows 各版本環境下正常使用,并考慮后續應用于國產化操作系統,具備良好的集成兼容性。
用戶在很短的時間內能找到所需要的信息,做到功能分類準確,文字描述貼切;支持操作限制提示,對用戶操作不正確的情況及時進行提示,在錯誤操作前對用戶的行為進行提示與警告,減少用戶出錯的可能性;支持操作前提示,在用戶進行操作時給出使用提示,對于重要提示要采用突出顏色標記;支持操作后提示,在用戶操作完畢后對所完成工作進行提示,不需要完全采用彈窗的方式,避免用戶進行多余操作;支持在用戶界面上展示交互信息等。
通用條碼打印系統,是通過三個相互獨立但又互聯互通的系統來實現。
簽賦(LabelShop)軟件負責標簽模板編輯和數據項目定義,可以實現獨立的標簽打印輸出功能;CodingVServer 打印服務程序實現監聽文件目錄打印功能,同時提供WebSocket和http等協議的打印服務,滿足更多應用場景(特別是網頁打印應用)的打印需求。TLXLabelPaint 打印開發接口,滿足系統嵌入打印功能的需求。
通用條碼打印系統的建設,遵循以下原則:
通用性遵循統一規范、統一標準、統一接口,其中標簽模板定義、數據項目定義、指令文件格式定義等,都遵循統一標準;
成熟性采用成熟的系統和組件,確保使用過程中的可靠性和穩定性;
可擴展性具有良好的可擴展性和良好的升級性,功能在可實現的基礎上,盡量采用可配置的形式,滿足未來發展的需要。
通用條碼打印系統,以簽賦條碼標簽打印軟件為基礎平臺,使系統最大限度地適應技術發展變化需求,以確保系統的先進性,延長系統的生命周期,提高用戶投資效益。友好的用戶操作界面,具備直觀易用的人機界面,使系統操作方便、快速、簡潔,滿足業務人員日常工作習慣和流程。本項目方案選擇和功能設計追求實用性,以降低用戶后期維護系統的成本。
系統應用架構
通用條碼打印系統由三個主要的軟件系統組成:用于標簽模板編輯以及數據定義的簽賦、用于監聽文件實現打印的CodingVServer打印服務器和用于系統集成的TLXLabelPaint二次開發接口。
系統技術架構
系統由三個主要的子系統組成,如圖1所示。

圖1 系統技術架構
標簽編輯打印軟件
通用條碼打印系統標簽編輯打印軟件(LabelShop)可以實現標簽自由編輯排版功能,可以導入多種格式的數據庫,適用于多種品牌型號的專用條碼打印機以及各類通用打印機。
同時,通用條碼打印系統標簽編輯打印軟件還為CodingVServer 打印服務程序以及TLXLabel-Paint 二次開發接口提供標簽模板編輯和數據定義功能。通用條碼打印系統標簽編輯打印軟件適用于標簽管理員批量打印標簽的場景。
標簽打印服務器
通用條碼打印系統打印服務程序(CodingVServer)通過監聽指定目錄中特定格式文件的變化,或通過Websocket、http 協議,或tcp/ip socket 協議接收打印指令,調用預先編輯的標簽模板,實現標簽打印。
標簽模板需要先使用通用條碼打印系統標簽編輯打印軟件編輯完成,通過“命名變量”的方式定義數據項目。模板可以放置在指令的目錄中,或者部屬在遠程服務器上(可通過http 協議獲取),服務程序監聽或者接收到打印指令后,調用指定的模板,并根據指令數據打印標簽。
CodingVServer 打印服務適用于用戶系統發送打印指令打印標簽的模式,用戶系統不必做大的改動,只要按需生成指令文件即可。web 應用程序通過網頁訪問打印服務之后,實現更高質量的標簽打印需求。

二次開發接口
TLXLabelPaint 打印庫是一個可以供用戶程序開發時調用的打印功能二次開發接口庫,采用標準的Windows 程序庫標準,提供多個API 接口,可以被C++、C#、Java 等多種開發語言調用,實現嵌入用戶程序的標簽打印功能。
通用條碼打印系統,根據不同的應用場景和需求,靈活實現多種類型的部署形式。需要批量條碼標簽編輯打印的應用場景,可以獨立部署使用通用條碼打印系統標簽編輯打印軟件(LabelShop);對于應用系統發送打印指令打印的場景,通過部屬通用條碼打印系統打印服務器(CodingVServer)來實現;對于新開發的系統的嵌入式打印需求,通過在系統中集成通用條碼打印系統二次開發接口(TLXLabel-Paint打印接口庫)實現。
系統正式上線前,進行高級用戶和普通用戶培訓,并提供系統安裝程序。系統常用參數保存在標簽模板中,實現系統的快速安裝部屬和參數配置。特別考慮到用戶的特殊應用場景,在無法實現外網聯接的局域網環境中,專門設計了授權管理服務器,滿足了系統操作受控的需求。
用戶現有的多個系統跨越二十余年的時間,特別是很多還運行在Windows XP 操作系統上,打印機品牌型號眾多,對條碼打印系統的兼容性要求很高,為此條碼打印系統所有的程序和模塊均對Windows XP 系統進行了嚴格的兼容性測試。為了兼容多種品牌型號的打印機,避免復雜的配置操作,系統提供無驅打印模式(即由打印系統直接驅動打印機,不需安裝打印機驅動程序,打印機信息保存在標簽模板中,打開模板自動識別連接的打印機)。為了避免多種驅動程序帶來的參數配置的復雜性,系統提供了一致的打印機參數配置界面,簡化了用戶操作。
用戶希望為最新的網頁打印需求和老舊的應用系統提供一致的使用體驗,有些系統采用單一的打印服務程序來實現命令文件監聽服務和網頁打印服務,并允許用戶根據實際系統需求開啟或關閉部分服務。
為了滿足未來應用的需求,系統采用通用、開放的數據格式,包括模板文件格式和命令文件格式等。各個程序和模塊均采用通用的軟件產品而非定制應用,條碼打印系統的功能可跟隨主流產品隨時升級,充分保護用戶投資。