Epos打印的制作方法【專利摘要】與HTML兼容的腳本語(yǔ)言用于定義能夠與用于打印操作的智能模塊直接通信而無(wú)需經(jīng)歷網(wǎng)絡(luò)瀏覽器的打印選擇選項(xiàng)的方法或?qū)ο?。打印API庫(kù)提供了用于嵌入到網(wǎng)頁(yè)中的所需方法/對(duì)象。智能模塊可以是單獨(dú)電子裝置或者可以是合并到打印機(jī)中的智能裝置。智能模塊可直接或通過(guò)網(wǎng)絡(luò)管理多個(gè)打印機(jī),并且其用于提供用于在網(wǎng)頁(yè)上的打印API與目標(biāo)打印機(jī)之間翻譯/傳達(dá)通信的通信橋。打印API知道智能模塊的固定IP地址,并且定義打印文檔或打印命令且借助于已知IP地址將其直接發(fā)送到智能模塊?!緦@f(shuō)明】EPOS打印【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及通過(guò)TCP/IP網(wǎng)絡(luò)的打印。更具體地,涉及在銷(xiāo)售點(diǎn)(POS)網(wǎng)絡(luò)中的打印?!?br>背景技術(shù):
】[0002]網(wǎng)絡(luò)打印指的是在計(jì)算機(jī)網(wǎng)絡(luò)上的打印資源共享。網(wǎng)絡(luò)打印的早期應(yīng)用是如圖1所示的打印服務(wù)器或打印機(jī)服務(wù)器。打印機(jī)服務(wù)器11是在公共計(jì)算機(jī)網(wǎng)絡(luò)17上將客戶端計(jì)算機(jī)13a與打印機(jī)15a連接的裝置。即,客戶端計(jì)算機(jī)13a將打印作業(yè)發(fā)送到打印機(jī)服務(wù)器11;打印機(jī)服務(wù)器11接收和保持(即,緩存(spool))打印作業(yè);以及當(dāng)打印機(jī)15a變得可用時(shí),打印機(jī)服務(wù)器11將所保持的打印作業(yè)發(fā)送到打印機(jī)15a進(jìn)行打印。應(yīng)理解,打印機(jī)服務(wù)器11可在多個(gè)打印機(jī)15a至15i當(dāng)中管理來(lái)自多個(gè)客戶端計(jì)算機(jī)13a至13η的多個(gè)打印作業(yè),以及計(jì)算機(jī)網(wǎng)絡(luò)可包括有線和無(wú)線通信鏈路兩者。各個(gè)打印機(jī)15a至15i可以是本地打印機(jī)和/或網(wǎng)絡(luò)打印機(jī),并且可經(jīng)由直接線纜連接(諸如通過(guò)并行線纜、USB線纜、專有線纜等)或者通過(guò)有線網(wǎng)絡(luò)連接(標(biāo)準(zhǔn)化網(wǎng)絡(luò)類別線纜(即,CAT5、5e、6)上的IEEE802.11等)或通過(guò)無(wú)線網(wǎng)絡(luò)連接(IEEE802.lla/b/g/n等)或通過(guò)其它已知無(wú)線通信鏈路(藍(lán)牙、家庭RF、HyperLan等)而直接連接到打印服務(wù)器11。[0003]打印機(jī)服務(wù)器11負(fù)責(zé)在等待目標(biāo)打印機(jī)變得可用的同時(shí)對(duì)打印作業(yè)進(jìn)行排隊(duì)(即,緩存)。打印機(jī)服務(wù)器11還可負(fù)責(zé)對(duì)其隊(duì)列中的打印作業(yè)進(jìn)行重排序或刪除,記錄打印機(jī)活動(dòng)(諸如所打印的頁(yè)數(shù)、打印時(shí)間等)。結(jié)果,打印機(jī)服務(wù)器11一般支持多個(gè)工業(yè)標(biāo)準(zhǔn)和/或?qū)S写蛴f(xié)議,因此還可包括用于在其管理下的每個(gè)打印機(jī)的打印機(jī)驅(qū)動(dòng)器。盡管打印機(jī)服務(wù)器良好地適合于私人網(wǎng)絡(luò),但是隨著工業(yè)已發(fā)展朝向使用普遍的因特網(wǎng)協(xié)議TCP/IP用于公共網(wǎng)絡(luò)和私人網(wǎng)絡(luò),變得期望通過(guò)因特網(wǎng)接口將打印能力合并在公共網(wǎng)絡(luò)中。[0004]“網(wǎng)絡(luò)瀏覽器”是基于超文本標(biāo)記語(yǔ)言(HTML)顯示“網(wǎng)頁(yè)”的普遍因特網(wǎng)接口(廣泛用在萬(wàn)維網(wǎng)上,即,WWW或因特網(wǎng))。標(biāo)記語(yǔ)言是基于文本的語(yǔ)言系統(tǒng),其使用“標(biāo)簽”以人類閱讀者易讀的文本格式提供機(jī)器可執(zhí)行指令。例如,標(biāo)簽可指示網(wǎng)絡(luò)瀏覽器關(guān)于如何對(duì)信息進(jìn)行格式化以顯示在網(wǎng)頁(yè)上(即,如何在顯示屏上顯示網(wǎng)頁(yè)信息)或者如何指定期望的可執(zhí)行功能。[0005]隨著因特網(wǎng)增長(zhǎng),變得期望提供比在HTML的早期版本上可用的功能更多的功能。為了解決該需要,Java語(yǔ)言被適配成提供可以嵌入在HTML網(wǎng)頁(yè)內(nèi)的全包含機(jī)器代碼(fullycontainedmachinecode)。這些小的應(yīng)用稱為小型應(yīng)用程序(applet)。Java是在許多應(yīng)用中(諸如在用于小型裝置和設(shè)施的控制應(yīng)用中)使用的全特征、面向?qū)ο缶幊?即,OOP)語(yǔ)言。[0006]創(chuàng)建用于控制其裝置的Java應(yīng)用的公司想要使得第三方制造商對(duì)其裝置的使用變得容易而不用發(fā)布關(guān)于其裝置的控制程序的私有信息。這通過(guò)使用對(duì)其控制應(yīng)用提供簡(jiǎn)化接口從而簡(jiǎn)化了第三方制造商對(duì)其控制程序的使用的應(yīng)用程序接口(API)庫(kù)來(lái)實(shí)現(xiàn)。基本上,API是具有指定輸入和輸出要求的公共代碼片集合,諸如在OPP語(yǔ)言中的對(duì)象或類中所找到的以及為編碼應(yīng)用提供接口的公共代碼片。以此方式,用戶不需要對(duì)特定軟件工具進(jìn)行重編碼或者甚至也不需要知道軟件是如何編碼的。用戶僅需要知道如何調(diào)用軟件工具、為其傳遞任何指定參數(shù)、使其執(zhí)行期望功能以及接收任何指定輸出。盡管Java使得網(wǎng)頁(yè)更動(dòng)態(tài),但是Java應(yīng)用(和小型應(yīng)用程序)是以機(jī)器代碼而不是腳本提供的編譯程序,因此不是人類用戶容易地易讀的。因此,小型應(yīng)用程序的使用降低了HTML代碼的可讀性。[0007]以腳本語(yǔ)言形式提供了Java的一些動(dòng)態(tài)能力的JavaScript解決了該問(wèn)題。由于JavaScript是腳本語(yǔ)言,因此HTML可以執(zhí)行JavaScript代碼而無(wú)需對(duì)JavaScript代碼進(jìn)行預(yù)處理(即,編譯),因此其保持為腳本(即,文本)形式。如Java小型應(yīng)用程序一樣,JavaScript可嵌入在HTML網(wǎng)頁(yè)內(nèi),并且當(dāng)下載HTML網(wǎng)頁(yè)時(shí)或者響應(yīng)于觸發(fā)事件,網(wǎng)絡(luò)瀏覽器將執(zhí)行JavaScript。JavaScript允許網(wǎng)頁(yè)動(dòng)態(tài)地修改其內(nèi)容、或者將內(nèi)容添加到當(dāng)前網(wǎng)頁(yè)、或者發(fā)送來(lái)自該網(wǎng)頁(yè)的內(nèi)容。JavaScript和其它腳本語(yǔ)言通過(guò)在網(wǎng)絡(luò)瀏覽器與網(wǎng)絡(luò)瀏覽器運(yùn)行的操作系統(tǒng)之間提供橋而允許網(wǎng)頁(yè)變得交互性更強(qiáng)。這允許網(wǎng)頁(yè)并入來(lái)自用戶的本地裝置環(huán)境的信息,諸如裝置位置和網(wǎng)絡(luò)瀏覽器和/或操作系統(tǒng)認(rèn)為提供到網(wǎng)頁(yè)安全的其它用戶信息。[0008]利用JavaScript,軟件開(kāi)發(fā)者開(kāi)始提供被設(shè)計(jì)成執(zhí)行特定任務(wù)的完整腳本應(yīng)用。當(dāng)這些腳本應(yīng)用被封裝為用于插入網(wǎng)頁(yè)中的單元時(shí),它們有時(shí)被稱為“窗口小部件(widget)”。由于每個(gè)窗口小部件是完整腳本代碼,因此以與在Java小型應(yīng)用程序中如何使用輸入和輸出類似的方式,其可具有預(yù)期輸入集合和可能輸出列表。結(jié)果,還已開(kāi)發(fā)了用于腳本代碼的API。例如,公司可產(chǎn)生腳本代碼庫(kù)以用特定裝置來(lái)操作、以及提供有利于將其腳本代碼集成到第三方開(kāi)發(fā)者的代碼中的API列表。因此,第三方開(kāi)發(fā)者不需要理解公司的裝置是如何工作的或者知道如何對(duì)其編程;第三方開(kāi)發(fā)者可以通過(guò)使用其所提供的API和/或窗口小部件(即,腳本代碼)而快速地插入對(duì)公司裝置的控制。[0009]這導(dǎo)致了從網(wǎng)絡(luò)瀏覽器進(jìn)行打印(即,HTML打印)的話題。大部分網(wǎng)絡(luò)瀏覽器在其工具條(即,用于調(diào)用不同任務(wù)的可選“軟件按鈕”的可視列表)上提供打印功能,并且當(dāng)用戶選擇該打印功能時(shí),網(wǎng)絡(luò)瀏覽器通過(guò)本地裝置的操作系統(tǒng)的打印API而訪問(wèn)本地裝置的打印機(jī)。即,網(wǎng)絡(luò)瀏覽器不知道什么類型的打印能力對(duì)其所運(yùn)行的裝置可用,即使知道,操作系統(tǒng)出于安全原因也不與網(wǎng)絡(luò)瀏覽器共享該信息。因此,為了網(wǎng)絡(luò)瀏覽器進(jìn)行打印,其必須將該功能請(qǐng)求傳遞到操作系統(tǒng),其可通過(guò)調(diào)用操作系統(tǒng)的打印接口來(lái)將該功能請(qǐng)求傳遞到操作系統(tǒng)。[0010]因此,從網(wǎng)頁(yè)進(jìn)行的打印需要經(jīng)歷如圖2所示的打印機(jī)對(duì)話框。打印機(jī)對(duì)話框19提供打印機(jī)信息、以及為用戶提供從其選擇對(duì)所打印的文檔進(jìn)行格式化的選項(xiàng)。這些選項(xiàng)是根據(jù)打印機(jī)的能力確定的,而打印機(jī)的能力是由打印機(jī)驅(qū)動(dòng)器提供的。例如,打印機(jī)對(duì)話框19可提供在多個(gè)可用打印機(jī)當(dāng)中進(jìn)行選擇的打印機(jī)選擇選項(xiàng)21???1a至21c分別可提供關(guān)于所選擇的打印機(jī)的信息,諸如其狀態(tài)、類型和位置。其它選項(xiàng)可包括如選擇按鈕23指示的以黑白或彩色進(jìn)行打印的選擇。如選擇按鈕25和27所指示的,用戶還可輸入要打印的頁(yè)面范圍,和/或選擇紙類型或紙朝向。[0011]一些網(wǎng)絡(luò)瀏覽器可提供快速打印選項(xiàng),其中,通過(guò)替代將打印請(qǐng)求發(fā)送到默認(rèn)打印機(jī)以及接受所有打印機(jī)的默認(rèn)設(shè)置而發(fā)送當(dāng)前顯示的網(wǎng)頁(yè)進(jìn)行打印,而無(wú)需利用打印機(jī)對(duì)話框。該請(qǐng)求被發(fā)送到本地操作系統(tǒng)的打印API,并且如果其支持快速打印并且其分配了默認(rèn)打印和其默認(rèn)設(shè)置,則其將接受網(wǎng)頁(yè)進(jìn)行打印。不幸的是,發(fā)送整個(gè)網(wǎng)頁(yè)進(jìn)行打印。因此,網(wǎng)頁(yè)開(kāi)發(fā)者沒(méi)有控制如何打印網(wǎng)頁(yè)或者打印網(wǎng)頁(yè)的哪個(gè)部分、或者一般打印的是什么材料。網(wǎng)頁(yè)開(kāi)發(fā)者還不知道什么打印機(jī)可用或者其打印能力,網(wǎng)絡(luò)開(kāi)發(fā)者也不知道各個(gè)打印機(jī)的默認(rèn)設(shè)置可能是什么??傊?,網(wǎng)絡(luò)瀏覽器經(jīng)歷本地裝置的操作系統(tǒng)(OS),并且假設(shè)在本地OS上將訪問(wèn)適當(dāng)?shù)拇蛴C(jī)驅(qū)動(dòng)器。[0012]已開(kāi)發(fā)了XML打印機(jī)以降低對(duì)打印機(jī)驅(qū)動(dòng)器的依賴性以及更好地控制打印文檔的格式化。XML打印機(jī)不限于網(wǎng)頁(yè),并且可以用作本地虛擬打印機(jī)。S卩,XML打印機(jī)如物理打印機(jī)一樣對(duì)打印請(qǐng)求進(jìn)行響應(yīng),但是替代產(chǎn)生物理打印文檔,其產(chǎn)生打印文檔應(yīng)該看起來(lái)如何的腳本語(yǔ)言描述。這與如何使用HTML腳本語(yǔ)言來(lái)定義顯示屏上的網(wǎng)頁(yè)的外觀和格式類似。該腳本語(yǔ)言描述然后可以被發(fā)送到支持XML打印的物理打印機(jī)以產(chǎn)生物理打印輸出。XML打印機(jī)通常用于維持跨越不同平臺(tái)和文檔格式的打印的一致性。例如,XML打印文檔文件將保證以MicrosoftWord?準(zhǔn)備的文檔將與以AdobeAcrobat備的同一文檔打印相同?!?br/>發(fā)明內(nèi)容】[0013]技術(shù)問(wèn)題[0014]因此,如果具有XML打印文檔文件和能夠讀取XML打印文檔文件的打印機(jī)(或打印機(jī)驅(qū)動(dòng)器),則可將XML打印文檔文件發(fā)送到打印機(jī)而無(wú)需打印機(jī)驅(qū)動(dòng)器要求。打印機(jī)(或其打印機(jī)驅(qū)動(dòng)器)將讀取文檔應(yīng)該看起來(lái)如何的腳本描述,以及生成其自己的打印圖像進(jìn)行打印。盡管XML打印機(jī)降低了對(duì)打印機(jī)驅(qū)動(dòng)器的依賴性因此有利于網(wǎng)絡(luò)上的打印,但是XML打印機(jī)沒(méi)有為網(wǎng)頁(yè)開(kāi)發(fā)者提供任何額外打印控制。即,網(wǎng)頁(yè)開(kāi)發(fā)者仍無(wú)法控制來(lái)自腳本應(yīng)用或窗口小部件內(nèi)的打印,而是替代地依賴于作為打印接口的網(wǎng)絡(luò)瀏覽器。[0015]JavaScript對(duì)于這點(diǎn)沒(méi)有提供任何輔助。盡管網(wǎng)絡(luò)瀏覽器可與本地操作系統(tǒng)接口以訪問(wèn)本地打印機(jī)的API或者調(diào)用XML打印機(jī)來(lái)創(chuàng)建XML打印文檔,但是為了安全原因,網(wǎng)絡(luò)瀏覽器沒(méi)有與其Java腳本共享該信息。S卩,JavaScript的作業(yè)傳統(tǒng)上用于定義關(guān)于網(wǎng)頁(yè)的信息以及提供動(dòng)態(tài)功能,Java腳本的作業(yè)不是打印文檔。網(wǎng)絡(luò)瀏覽器的作業(yè)是控制打印功能,因此其沒(méi)有與內(nèi)部腳本應(yīng)用共享該控制。結(jié)果,至今JavaScript應(yīng)用無(wú)法直接控制打印機(jī)。其必須替代地請(qǐng)求網(wǎng)絡(luò)瀏覽器做出打印請(qǐng)求,網(wǎng)絡(luò)瀏覽器進(jìn)而將該請(qǐng)求轉(zhuǎn)發(fā)到本地OS,本地OS然后調(diào)用打印對(duì)話框來(lái)設(shè)置本地/網(wǎng)絡(luò)打印機(jī)(真實(shí)的或虛擬的)。[0016]盡管存在這些困難,仍朝向提供網(wǎng)絡(luò)打印(即,因特網(wǎng)上的打印)前進(jìn)。例如,因特網(wǎng)打印協(xié)議(IPP)提供了用于在因特網(wǎng)上進(jìn)行遠(yuǎn)程打印的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議,這消除了對(duì)每個(gè)用戶機(jī)器上的單獨(dú)打印驅(qū)動(dòng)器的需要。IPP提供了對(duì)各種打印需要的控制,諸如管理打印作業(yè)、介質(zhì)大小、分辨率等,并且旨在為用戶提供如同打印機(jī)是本地一樣的類似方法和操作?;旧?,IPP是定義網(wǎng)絡(luò)打印協(xié)議的開(kāi)放標(biāo)準(zhǔn)的集合,并且如果打印機(jī)供應(yīng)商采用了該標(biāo)準(zhǔn),則IPP允許用戶實(shí)時(shí)地與該供應(yīng)商的打印機(jī)進(jìn)行交互以得到關(guān)于打印機(jī)的能力,詢問(wèn)關(guān)于打印作業(yè)的狀態(tài)或者取消已提交的打印作業(yè)。如在本地打印機(jī)的情況下一樣,該對(duì)話將通過(guò)打印機(jī)對(duì)話框。[0017]用于提供因特網(wǎng)打印的另一方法稱為GoogleCloudPrinting?(谷歌云打印?)或GCP。這是由Google?(谷歌?)公司提供的服務(wù),并且其通過(guò)將打印請(qǐng)求發(fā)送到谷歌公司、使得谷歌公司準(zhǔn)備打印作業(yè)(限于PDF打印作業(yè))以及將打印作業(yè)轉(zhuǎn)發(fā)到用戶預(yù)先登記的打印機(jī),基本上允許開(kāi)發(fā)者將打印能力并入其網(wǎng)頁(yè)和服務(wù)中。Google?公司提供允許開(kāi)發(fā)者快速插入所需代碼的API,并且其使用標(biāo)準(zhǔn)打印對(duì)話框來(lái)創(chuàng)建和提交PDF打印作業(yè)。如將理解的,這表示Google能夠訪問(wèn)要打印的所有文檔,這對(duì)用戶提出了安全性和私密性的問(wèn)題。此外,注意,該服務(wù)的另一限制在于,其需要使得要打印的文檔已在網(wǎng)絡(luò)上而不僅僅是在用戶的計(jì)算機(jī)上。因此,該服務(wù)無(wú)法用于打印不在網(wǎng)絡(luò)上的本地生成文檔。[0018]所需要的是用于增加用戶對(duì)來(lái)自網(wǎng)絡(luò)瀏覽器內(nèi)的打印的控制的方式。[0019]進(jìn)一步優(yōu)選的是,開(kāi)發(fā)者直接通過(guò)腳本應(yīng)用(諸如JavaScript窗口小部件)而直接訪問(wèn)和控制打印機(jī),而不需要將打印請(qǐng)求發(fā)送到本地網(wǎng)絡(luò)瀏覽器。[0020]還期望網(wǎng)頁(yè)內(nèi)的腳本應(yīng)用能夠直接生成和格式化要打印的信息以及將信息直接發(fā)送到打印機(jī),而不需要打印對(duì)話框或者受網(wǎng)頁(yè)內(nèi)的內(nèi)容的限制。[0021]還期望用戶具有直接網(wǎng)絡(luò)打印能力,而不依賴于管理打印作業(yè)的任何第三方實(shí)體。[0022]問(wèn)題的解決方案[0023]以上目的是在如下方法中滿足的:該方法用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔以及通過(guò)網(wǎng)絡(luò)將文檔發(fā)送到打印機(jī),該網(wǎng)絡(luò)應(yīng)用由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,該方法包括以下步驟:提供被適配成連接到打印機(jī)的智能模塊,該智能模塊被配置成設(shè)置了地址、接收文檔以及將文檔發(fā)送到打印機(jī);將應(yīng)用程序接口(API)嵌入在網(wǎng)絡(luò)應(yīng)用中,該API提供被配置成指定智能模塊的地址的地址屬性元素、被配置成將用于控制打印機(jī)的命令添加到命令緩沖器中以及通過(guò)將命令累積在命令緩沖器中來(lái)創(chuàng)建文檔的第一方法元素、和被配置成將文檔發(fā)送到智能模塊的第二方法元素;借助于嵌入在網(wǎng)絡(luò)應(yīng)用中的第一方法元素而創(chuàng)建文檔;借助于嵌入在網(wǎng)絡(luò)應(yīng)用中的第二方法元素而將文檔發(fā)送到具有地址屬性元素指定的地址的智能模塊;以及將來(lái)自智能模塊的文檔發(fā)送到打印機(jī)。[0024]優(yōu)選地,網(wǎng)絡(luò)應(yīng)用設(shè)置在智能模塊或網(wǎng)絡(luò)服務(wù)器中,并且智能模塊是電子裝置。[0025]該方法還可包括在打印機(jī)中在紙上打印文檔的步驟。命令之一可以是用于將用于打印的文本添加到命令緩沖器的文本命令。另外,命令之一可以是用于將用于設(shè)置文本的屬性的參數(shù)添加到命令緩沖器的文本設(shè)置命令。文本設(shè)置命令可包括第一文本設(shè)置參數(shù),該第一文本設(shè)置參數(shù)指定文本的開(kāi)始位置、對(duì)齊、語(yǔ)言、字體、風(fēng)格、縮放或大小中的至少一個(gè)。文本命令還可包括指定是否旋轉(zhuǎn)文本或者是否實(shí)現(xiàn)文本的平滑化的第二文本設(shè)置參數(shù)。[0026]命令之一還可以是用于將在打印機(jī)中送紙的指令添加到命令緩沖器的送紙命令。[0027]另外,命令之一可以是用于將用于打印的光柵圖像添加到命令緩沖器的圖像命令。[0028]優(yōu)選地,API包括半色調(diào)屬性元素,并且圖像命令根據(jù)半色調(diào)屬性元素的設(shè)置而將在網(wǎng)絡(luò)應(yīng)用中渲染的彩色圖像轉(zhuǎn)換成用于打印的光柵圖像數(shù)據(jù)。半色調(diào)屬性元素可指定抖動(dòng)、誤差擴(kuò)散和用于將彩色圖像轉(zhuǎn)換成光柵圖像數(shù)據(jù)的閾值中的任一個(gè)。[0029]此外,優(yōu)選地,API包括亮度屬性元素,并且圖像命令根據(jù)亮度屬性元素的設(shè)置而將彩色圖像轉(zhuǎn)換成用于打印的光柵圖像數(shù)據(jù)。亮度屬性元素可例如指定用于校正光柵圖像數(shù)據(jù)的亮度的在范圍0.1至10中的伽馬值。[0030]在優(yōu)選實(shí)施例中,打印機(jī)包括用于登記可由鍵碼標(biāo)識(shí)的標(biāo)記的非易失性(即,NV)存儲(chǔ)器,并且其中,命令包括用于將鍵碼添加到命令緩沖器以用于打印標(biāo)記的標(biāo)記命令,所添加的鍵碼指定(即,標(biāo)識(shí))NV存儲(chǔ)器中登記的標(biāo)記。[0031]命令之一還可以是用于將打印條形碼的指令添加到命令緩沖器的條形碼命令,所述條形碼命令包括條形碼參數(shù),該條形碼參數(shù)指定條形碼的類型、條形碼的寬度和高度和/或要轉(zhuǎn)換成條形碼的數(shù)據(jù)中的至少一個(gè)。[0032]另外,命令之一還可以是用于將打印二維符號(hào)的指令添加到命令緩沖器的符號(hào)命令,所述符號(hào)命令包括符號(hào)參數(shù),該符號(hào)參數(shù)指定二維符號(hào)的類型、二維符號(hào)的誤差校正水平或要轉(zhuǎn)換成二維符號(hào)的數(shù)據(jù)中的至少一個(gè)。[0033]命令還可包括用于將繪制第一方向上的第一線的指令添加到命令緩沖器的第一線命令和用于將繪制第二方向上的第二線的指令添加到命令緩沖器的第二線命令,第一線命令包括指定第一線的開(kāi)始位置和結(jié)束位置以將其定義為線段的第一線參數(shù),并且第二線命令包括指定第二線的開(kāi)始位置并且不包括第二線的任何結(jié)束位置以將其定義為連續(xù)線的第二線參數(shù)。優(yōu)選地,命令中的另一個(gè)是用于添加結(jié)束由第二線命令開(kāi)始的繪制第二線的指令的第三線命令,該第三線命令包括第三線參數(shù),該第三線參數(shù)指定第二線的結(jié)束位置。[0034]此外,優(yōu)選地,命令之一是用于將切換為頁(yè)面模式的指令添加到命令緩沖器的頁(yè)面模式命令,所述頁(yè)面模式是如下打印模式:其中,定義了打印區(qū)域,數(shù)據(jù)被布置在打印區(qū)域中,并且在批操作中打印該打印區(qū)域,所述頁(yè)面模式命令還將用于添加打印區(qū)域的指令添加到命令緩沖器,該指令包括指定打印區(qū)域的坐標(biāo)。優(yōu)選地,命令之一是用于將結(jié)束頁(yè)面模式的指令添加到命令緩沖器的第二頁(yè)面模式命令。命令還可包括用于將頁(yè)面模式的設(shè)置添加到命令緩沖器的第三頁(yè)面命令,第三頁(yè)面命令包括指定頁(yè)面模式中的打印方向的第三頁(yè)面參數(shù)、或指定頁(yè)面模式中的打印開(kāi)始位置的坐標(biāo)。命令還可包括用于將在頁(yè)面模式中繪制線或矩形的指令添加到命令緩沖器的第四頁(yè)面命令,該第四頁(yè)面命令包括指定頁(yè)面模式中的線或矩形的開(kāi)始位置和結(jié)束位置的坐標(biāo)。第四頁(yè)面命令可包括指定線或矩形的類型的第四頁(yè)面參數(shù)。[0035]另外,命令之一可以是用于將裁切紙的指令添加到命令緩沖器的切紙命令,所述切紙命令包括指定在不送紙的情況下裁切紙或者在送紙之后裁切紙的切紙參數(shù)。[0036]此外,優(yōu)選地,抽屜連接到打印機(jī),并且命令之一是用于將彈開(kāi)抽屜的指令添加到命令緩沖器的抽屜彈開(kāi)命令。抽屜彈開(kāi)命令優(yōu)選地包括指定施加用于打開(kāi)抽屜的信號(hào)的導(dǎo)通持續(xù)時(shí)間的第一抽屜參數(shù)。優(yōu)選地,抽屜通過(guò)兩個(gè)連接器連接到打印機(jī),并且抽屜彈開(kāi)命令包括指定連接抽屜和打印機(jī)的連接器中的任一個(gè)的第二抽屜參數(shù)。[0037]另外,打印機(jī)可具有蜂鳴器,并且命令之一可以是用于將接通蜂鳴器的指令添加到命令緩沖器的蜂鳴器命令。蜂鳴器命令可包括指定重復(fù)蜂鳴器的啟動(dòng)的模態(tài)或次數(shù)的蜂鳴器參數(shù)。[0038]地址屬性元素可被配置成設(shè)置超時(shí)時(shí)期,并且該方法可優(yōu)選地包括如下步驟:響應(yīng)于超時(shí)時(shí)期的過(guò)去而取消用于在由地址屬性元素指定的打印機(jī)中打印文檔的打印作業(yè)。[0039]地址屬性元素還可被配置成設(shè)置打印機(jī)的裝置標(biāo)識(shí)以用于將文檔發(fā)送到該打印機(jī)。API還可包括接收事件元素,該接收事件元素被配置成從打印機(jī)獲得包括打印結(jié)果、錯(cuò)誤代碼和/或打印機(jī)狀態(tài)中的一個(gè)的響應(yīng)消息,該方法還可包括如下步驟:從連接到由地址屬性元素指定的智能模塊的打印機(jī)接收響應(yīng)消息。優(yōu)選地,錯(cuò)誤代碼和/或打印機(jī)狀態(tài)指示自動(dòng)可恢復(fù)錯(cuò)誤和/或不可恢復(fù)錯(cuò)誤中的一個(gè)的發(fā)生。此外,優(yōu)選地,打印機(jī)具有蓋,并且錯(cuò)誤代碼和/或打印機(jī)狀態(tài)指示蓋何時(shí)打開(kāi)。另外,優(yōu)選地,打印機(jī)具有自動(dòng)切紙器,并且錯(cuò)誤代碼和/或打印機(jī)狀態(tài)指示何時(shí)在自動(dòng)切紙器中發(fā)生了錯(cuò)誤。打印機(jī)還可具有檢測(cè)紙是否在打印機(jī)中的傳感器,并且錯(cuò)誤代碼和/或打印機(jī)狀態(tài)指示傳感器何時(shí)檢測(cè)到?jīng)]有紙。錯(cuò)誤代碼和/或打印機(jī)狀態(tài)還可指示發(fā)送到智能模塊的文檔是否包含語(yǔ)法錯(cuò)誤。[0040]優(yōu)選地,錯(cuò)誤代碼和/或打印機(jī)狀態(tài)指示是否不存在具有裝置標(biāo)識(shí)的打印機(jī)。如果打印機(jī)具有連接到智能模塊的通信端口,則錯(cuò)誤代碼和/或打印機(jī)狀態(tài)可指示是否在通信端口上檢測(cè)到錯(cuò)誤。此外,優(yōu)選地,地址屬性元素被配置成設(shè)置用于取消用于在打印機(jī)中打印文檔的打印作業(yè)的超時(shí)時(shí)期,并且錯(cuò)誤代碼和/或打印機(jī)狀態(tài)指示是否過(guò)去了超時(shí)時(shí)期。錯(cuò)誤代碼和/或打印機(jī)狀態(tài)還可指示打印是否成功完成。假設(shè)打印機(jī)被適配成通過(guò)連接器連接到抽屜,則錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示連接器的預(yù)定引腳的狀態(tài)。錯(cuò)誤代碼或打印機(jī)狀態(tài)還可指示打印機(jī)是否是離線或等待使得回到在線,或者是否沒(méi)有從打印機(jī)接收到響應(yīng)。打印機(jī)還可具有用于送紙的開(kāi)關(guān)。在該情況下,錯(cuò)誤代碼和/或打印機(jī)狀態(tài)可指示是否正通過(guò)開(kāi)關(guān)的操作送紙。打印機(jī)還可具有蜂鳴器,在該情況下,錯(cuò)誤代碼和/或打印機(jī)狀態(tài)可指示蜂鳴器是否接通。打印機(jī)或智能模塊可具有被配置成緩存用于打印文檔的打印作業(yè)的緩存器(spooler),并且錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示緩存器是否已停止。[0041]優(yōu)選地,API包括用于初始化API的構(gòu)造器。在該情況下,該方法還可包括在創(chuàng)建文檔的步驟之前初始化API的步驟。[0042]目的還可在如下方法中被滿足:該方法用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔,以及通過(guò)網(wǎng)絡(luò)將文檔發(fā)送到打印機(jī),該網(wǎng)絡(luò)應(yīng)用由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,該方法包括以下步驟:提供被適配成連接到打印機(jī)的智能模塊,該智能模塊被配置成設(shè)置了地址、接收文檔以及將文檔發(fā)送到打印機(jī);將應(yīng)用程序接口(API)嵌入在網(wǎng)絡(luò)應(yīng)用中,該API提供用于創(chuàng)建文檔的第一對(duì)象、用于處理第一對(duì)象元素的第一方法元素、用于發(fā)送文檔的第二對(duì)象、被配置成指定智能模塊的地址的地址屬性元素和用于處理第二對(duì)象的第二方法元素,第一對(duì)象包括命令緩沖器,第一方法元素被配置成將用于控制打印機(jī)的命令添加到命令緩沖器中以及通過(guò)將命令累積在緩沖器中來(lái)創(chuàng)建文檔,第二方法元素被配置成將緩沖器中的文檔發(fā)送到智能模塊;通過(guò)嵌入在網(wǎng)絡(luò)應(yīng)用中的第一方法元素來(lái)創(chuàng)建文檔;通過(guò)嵌入在網(wǎng)絡(luò)應(yīng)用中的第二方法元素將文檔發(fā)送到具有地址屬性元素指定的地址的智能模塊;以及將來(lái)自智能模塊的文檔發(fā)送到打印機(jī)。[0043]優(yōu)選地,在該方法中,API包括用于初始化第一對(duì)象的第一構(gòu)造器和用于初始化第二對(duì)象的第二構(gòu)造器,該方法還包括以下步驟:在創(chuàng)建文檔的步驟之前初始化第一對(duì)象;以及在發(fā)送文檔的步驟之前初始化第二對(duì)象。[0044]該方法還可包括在打印機(jī)中在紙上打印文檔的步驟。[0045]API還可包括接收事件元素,接收事件元素被配置成從打印機(jī)獲得包括打印結(jié)果、錯(cuò)誤代碼或打印機(jī)狀態(tài)中的一個(gè)的響應(yīng)消息,并且該方法還可包括以下步驟:從連接到由地址屬性元素指定的智能模塊的打印機(jī)接收響應(yīng)消息,第二對(duì)象在接收響應(yīng)消息的步驟之前被初始化。[0046]目的還可在如下方法中被滿足:該方法用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔以及通過(guò)網(wǎng)絡(luò)將文檔發(fā)送到打印機(jī),該網(wǎng)絡(luò)應(yīng)用由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,該方法包括以下步驟:提供被配置成設(shè)置了地址的打印機(jī);將應(yīng)用程序接口(API)嵌入在網(wǎng)絡(luò)應(yīng)用中,該API提供:(i)地址屬性元素,被配置成指定打印機(jī)的地址,(?)第一方法元素,被配置成將用于控制打印機(jī)的命令添加到命令緩沖器中,以及通過(guò)將命令累積在緩沖器中來(lái)創(chuàng)建文檔,以及(iii)第二方法元素,被配置成將緩沖器中的文檔發(fā)送到智能模塊;通過(guò)嵌入在網(wǎng)絡(luò)應(yīng)用中的第一方法元素來(lái)創(chuàng)建文檔;通過(guò)嵌入在網(wǎng)絡(luò)應(yīng)用中的第二方法元素將文檔發(fā)送到具有地址屬性元素指定的地址的打印機(jī);以及打印文檔。[0047]目的還可在如下系統(tǒng)中被滿足:該系統(tǒng)用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔以及通過(guò)網(wǎng)絡(luò)將文檔發(fā)送到打印機(jī),該網(wǎng)絡(luò)應(yīng)用由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,該系統(tǒng)包括:智能模塊,被適配成連接到打印機(jī),該智能模塊被配置成設(shè)置了地址;網(wǎng)絡(luò)服務(wù)器,通過(guò)網(wǎng)絡(luò)連接到智能模塊,網(wǎng)絡(luò)應(yīng)用安裝在網(wǎng)絡(luò)服務(wù)器中;應(yīng)用程序接口(API),嵌入在網(wǎng)絡(luò)應(yīng)用中,該API包括:(i)地址屬性元素,被配置成指定智能模塊的地址,(?)第一方法元素,被配置成將用于控制打印機(jī)的命令添加到命令緩沖器中,以及通過(guò)將命令累積在緩沖器中來(lái)創(chuàng)建文檔,以及(iii)第二方法元素,被配置成將緩沖器中的文檔發(fā)送到智能模塊,其中,通過(guò)第一方法元素來(lái)創(chuàng)建文檔、并且通過(guò)第二方法元素將文檔發(fā)送到具有地址屬性元素指定的地址的智能模塊,并且智能模塊將文檔發(fā)送到打印機(jī)。[0048]優(yōu)選地,抽屜連接到打印機(jī),并且命令之一是用于將彈開(kāi)抽屜的指令添加到命令緩沖器的抽屜彈開(kāi)命令。[0049]打印機(jī)還可具有蜂鳴器,并且命令之一可以是用于將接通蜂鳴器的指令添加到命令緩沖器的蜂鳴器命令。[0050]以上目的還可在如下方法中被滿足:該方法用于將以HTML5Canvas(畫(huà)布)渲染的圖像發(fā)送到打印機(jī)以及由打印機(jī)來(lái)打印圖像,該方法包括以下步驟:提供被適配成連接到打印機(jī)的智能模塊,該智能模塊被配置成設(shè)置了地址;將應(yīng)用程序接口(API)嵌入在網(wǎng)絡(luò)應(yīng)用中,該API提供:(i)第一屬性元素,被配置成指定用于將所渲染的圖像轉(zhuǎn)換成光柵圖像數(shù)據(jù)的轉(zhuǎn)換方法,(?)第二屬性元素,被配置成指定智能模塊的地址,以及(iii)方法元素,被配置成將圖像轉(zhuǎn)換成光柵圖像數(shù)據(jù)以及將所轉(zhuǎn)換的光柵圖像數(shù)據(jù)發(fā)送到智能模塊;根據(jù)由第一屬性元素指定的轉(zhuǎn)換方法而通過(guò)方法元素將圖像轉(zhuǎn)換成光柵圖像數(shù)據(jù);根據(jù)由第二屬性元素指定的地址而通過(guò)方法元素將光柵圖像數(shù)據(jù)發(fā)送到智能模塊;以及將來(lái)自智能模塊的光柵圖像數(shù)據(jù)發(fā)送到打印機(jī)。[0051]以上目的還可在用于在應(yīng)用中創(chuàng)建或編輯文檔的方法中被滿足,該文檔被適配成通過(guò)網(wǎng)絡(luò)被發(fā)送到打印機(jī),該應(yīng)用被適配成由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,該方法包括以下步驟:提供被適配成要添加到命令緩沖器中的控制打印機(jī)的命令,并且文檔是通過(guò)將命令累積在命令緩沖器中而創(chuàng)建的;顯示設(shè)置屏幕,設(shè)置屏幕被實(shí)現(xiàn)為將打印機(jī)的地址設(shè)置為地址屬性元素;顯示編輯屏幕,編輯屏幕被實(shí)現(xiàn)為編輯和/或創(chuàng)建文檔,該編輯屏幕包括圖標(biāo),每個(gè)圖標(biāo)與控制打印機(jī)的命令之一相對(duì)應(yīng);顯示輸入框,輸入框被實(shí)現(xiàn)為如果在編輯屏幕上選擇了與命令對(duì)應(yīng)的圖標(biāo)中的指定圖標(biāo),則在編輯屏幕上輸入命令的參數(shù);將具有在編輯屏幕中選擇或輸入的參數(shù)的命令添加到命令緩沖器。[0052]優(yōu)選地,該方法還包括如下步驟:將在編輯屏幕上編輯或創(chuàng)建的文檔轉(zhuǎn)換成XML語(yǔ)言代碼以及顯示該代碼。該方法還可包括如下步驟:將在編輯屏幕上編輯或創(chuàng)建的文檔的第一部分轉(zhuǎn)換為打印預(yù)覽以及顯示打印預(yù)覽??蛇x地,該方法還可包括如下步驟:顯示用于將文檔發(fā)送到具有地址屬性元素指定的地址的打印機(jī)的按鈕。[0053]以上目的還可在如下方法中被滿足:該方法用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔,將文檔發(fā)送到打印機(jī)以及通過(guò)網(wǎng)絡(luò)獲得打印機(jī)的狀態(tài),該網(wǎng)絡(luò)應(yīng)用由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,該方法包括如下步驟:提供被適配成連接到打印機(jī)的智能模塊(智能模塊優(yōu)選地是物理電子裝置),智能模塊被配置成設(shè)置了地址、接收文檔以及將文檔發(fā)送到打印機(jī);將應(yīng)用程序接口(API)嵌入在網(wǎng)絡(luò)應(yīng)用中,該API包括:(i)地址屬性元素,被配置成指定智能模塊的地址,(?)狀態(tài)事件元素,被配置成檢查打印機(jī)的一個(gè)或多個(gè)狀態(tài),以及(iii)打開(kāi)方法元素,被配置成啟用操作狀態(tài)事件元素;將智能模塊的地址設(shè)置為地址屬性元素;以及啟用操作狀態(tài)事件元素以接收打印機(jī)的指定狀態(tài)。[0054]優(yōu)選地,API包括被配置成禁止?fàn)顟B(tài)事件元素的操作的關(guān)閉方法元素,該方法還包括禁止?fàn)顟B(tài)事件元素的步驟。[0055]API還可包括指定用于更新打印機(jī)的狀態(tài)的時(shí)間間隔的間隔屬性元素,該方法還包括設(shè)置間隔屬性元素中的時(shí)間間隔的步驟。[0056]API還可包括指定最近從打印機(jī)獲得的狀態(tài)的狀態(tài)屬性元素。[0057]另外,該方法還可包括設(shè)置打印機(jī)的裝置標(biāo)識(shí)的步驟,其中,地址屬性元素被配置成指定打印機(jī)的裝置標(biāo)識(shí)以用于接收由裝置標(biāo)識(shí)指定的打印機(jī)的狀態(tài)。[0058]可選地,網(wǎng)絡(luò)應(yīng)用可設(shè)置在智能模塊或網(wǎng)絡(luò)服務(wù)器中。[0059]打印機(jī)的狀態(tài)可包括指示打印機(jī)是在線還是離線的狀態(tài)。[0060]另外,打印機(jī)可具有蓋,并且打印機(jī)的狀態(tài)可包括指示蓋是打開(kāi)還是關(guān)閉的狀態(tài)。[0061]優(yōu)選地,API還提供:⑴第一方法元素,被配置成將控制打印機(jī)的命令添加到命令緩沖器中以及通過(guò)將命令累積在緩沖器中來(lái)創(chuàng)建文檔,以及(ii)第二方法元素,被配置成將緩沖器中的文檔發(fā)送到智能模塊。在該情況下,該方法還可包括如下步驟:通過(guò)嵌入在網(wǎng)絡(luò)應(yīng)用中的第一方法元素創(chuàng)建文檔;通過(guò)嵌入在網(wǎng)絡(luò)應(yīng)用中的第二方法元素將文檔發(fā)送到具有地址屬性元素指定的地址的智能模塊;以及將來(lái)自智能模塊的文檔發(fā)送到打印機(jī)。[0062]該方法還可包括在打印機(jī)中在紙上打印文檔的步驟。在該情況下,打印機(jī)的狀態(tài)可包括指示打印機(jī)中的紙供應(yīng)是否結(jié)束或幾乎結(jié)束的狀態(tài)。優(yōu)選地,抽屜連接到打印機(jī),并且命令之一是用于將彈開(kāi)抽屜的指令添加到命令緩沖器的抽屜彈開(kāi)命令。打印機(jī)的狀態(tài)可包括指示抽屜是打開(kāi)還是關(guān)閉的狀態(tài)。[0063]以上目的還可在如下系統(tǒng)中被滿足:該系統(tǒng)用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔,將文檔發(fā)送到打印機(jī)以及通過(guò)網(wǎng)絡(luò)獲得打印機(jī)的狀態(tài),該網(wǎng)絡(luò)應(yīng)用由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,該系統(tǒng)包括:被適配成連接到打印機(jī)的智能模塊,該智能模塊被配置成設(shè)置了地址;通過(guò)網(wǎng)絡(luò)連接到智能模塊的網(wǎng)絡(luò)服務(wù)器,網(wǎng)絡(luò)應(yīng)用安裝在網(wǎng)絡(luò)服務(wù)器中;嵌入在網(wǎng)絡(luò)應(yīng)用中的應(yīng)用程序接口(API),該API包括:(i)地址屬性元素,被配置成指定智能模塊的地址,(ii)狀態(tài)事件元素,被配置成檢查打印機(jī)的一個(gè)或多個(gè)狀態(tài),以及(iii)打開(kāi)方法元素,被配置成啟用狀態(tài)事件元素的操作;其中,在打開(kāi)方法元素啟用了狀態(tài)事件元素的操作之后,由狀態(tài)事件元素指定的打印機(jī)的狀態(tài)從由地址屬性元素指定的打印機(jī)被發(fā)送到網(wǎng)絡(luò)瀏覽器。[0064]優(yōu)選地,打印機(jī)具有蓋,并且打印機(jī)的狀態(tài)包括指示蓋是打開(kāi)還是關(guān)閉的狀態(tài)。[0065]此外,優(yōu)選地,API還提供:第一方法元素,被配置成將控制打印機(jī)的命令添加到命令緩沖器中以及通過(guò)將命令累積在緩沖器中來(lái)創(chuàng)建文檔;以及第二方法元素,被配置成將命令緩沖器中的文檔發(fā)送到智能模塊,其中,通過(guò)第一方法元素來(lái)創(chuàng)建文檔并且通過(guò)第二方法元素將文檔發(fā)送到具有地址指定的地址的智能模塊。[0066]優(yōu)選地,抽屜連接到打印機(jī),并且命令之一是用于將彈開(kāi)抽屜的指令添加到命令緩沖器的抽屜彈開(kāi)命令。[0067]打印機(jī)的狀態(tài)還可包括指示抽屜是打開(kāi)還是關(guān)閉的狀態(tài)。[0068]其它目的和收獲連同對(duì)本發(fā)明的更全面理解將通過(guò)參考結(jié)合附圖進(jìn)行的以下描述和權(quán)利要求而變得更明顯和更好理解。【專利附圖】【附圖說(shuō)明】[0069]在附圖中,相同的附圖標(biāo)記指的是相同的部分。[0070]圖1示出了典型打印機(jī)服務(wù)器布置。[0071]圖2示出了典型打印機(jī)對(duì)話框。[0072]圖3是根據(jù)本發(fā)明的第一實(shí)施例。[0073]圖4是根據(jù)本發(fā)明的第二實(shí)施例。[0074]圖5示出了命令緩沖器并且示出了根據(jù)本發(fā)明的控制命令的一些示例。[0075]圖6示出了應(yīng)用在POS系統(tǒng)中的本發(fā)明的具體示例。[0076]圖7示出了可借助于ePOS-PrintAPI(ePOS-打印API)實(shí)現(xiàn)的打印類型的示例。[0077]圖8示出了可借助于ePOS-Print-CanvasAPI(ePOS-打印-畫(huà)布API)實(shí)現(xiàn)的打印類型的示例。[0078]圖9是根據(jù)本發(fā)明的實(shí)施例的打印流程的示例。[0079]圖10示出了根據(jù)本發(fā)明的系統(tǒng)構(gòu)造示例。[0080]圖11示出了將網(wǎng)絡(luò)應(yīng)用登記到TM智能打印機(jī)中。[0081]圖12提供了根據(jù)本發(fā)明的使用ePOS-PrintAPI創(chuàng)建的樣本程序屏幕的示例。[0082]圖13是可響應(yīng)于圖12的設(shè)置按鈕的啟動(dòng)而調(diào)用的設(shè)置窗口的示例。[0083]圖14示出了使用ePOS-PrintAPI的第一樣本打印輸出和使用ePOS-Print-CanvasAPI的第二樣本打印輸出。[0084]圖15示出了示出從其初始顯示狀態(tài)直到打印作業(yè)完成的處理步驟流程的樣本流程圖。[0085]圖16示出了示出用于發(fā)券的處理步驟流程的樣本流程圖。[0086]圖17是根據(jù)本發(fā)明的操作環(huán)境的示例。[0087]圖18示出了用于配置針對(duì)樣本程序的環(huán)境設(shè)置的處理流程。[0088]圖19是用于TM智能打印機(jī)的網(wǎng)絡(luò)設(shè)置的示例。[0089]圖20是裝置設(shè)置的示例。[0090]圖21示出了可配置的裝置設(shè)置的示例。[0091]圖22示出了用于使用ePOS-PrintAPI進(jìn)行編程的樣本工作流程。[0092]圖23示出了使用HTML〈腳本>標(biāo)簽來(lái)嵌入ePOS-PrintAPI的示例。[0093]圖24示出了用于創(chuàng)建打印文檔的程序代碼片段的示例。[0094]圖25示出了用于創(chuàng)建文本打印文檔的腳本代碼的示例。[0095]圖26提供了創(chuàng)建圖形打印文檔的樣本腳本代碼。[0096]圖27示出了用于創(chuàng)建頁(yè)面模式打印文檔的樣本代碼。[0097]圖28提供了用于傳送打印文檔的樣本代碼。[0098]圖29提供了具有關(guān)于打印機(jī)結(jié)束點(diǎn)地址的細(xì)節(jié)的表格。[0099]圖30提供了用于實(shí)現(xiàn)召回(callback)功能的樣本代碼。[0100]圖31提供了用于召回函數(shù)的錯(cuò)誤處理方法的示例。[0101]圖32示出了使用狀態(tài)事件通知功能來(lái)檢查打印機(jī)狀態(tài)而不進(jìn)行打印。[0102]圖33示出了用于使用ePOS-Print-CanvasAPI進(jìn)行編程的工作流程。[0103]圖34示出了用于嵌入ePOS-Print-CanvasAPI的樣本代碼。[0104]圖35提供了用于以HTML5-Canvas(HTML5-畫(huà)布)進(jìn)行渲染的樣本代碼。[0105]圖36提供了用于傳送打印文檔進(jìn)行打印的樣本代碼。[0106]圖37示出了用于打印結(jié)果收條和召回函數(shù)的樣本代碼。[0107]圖38提供了用于通過(guò)召回函數(shù)進(jìn)行錯(cuò)誤處理的樣本代碼。[0108]圖39提供了使用狀態(tài)事件通知功能來(lái)檢查打印機(jī)狀態(tài)而無(wú)需進(jìn)行打印的樣本代碼。[0109]圖40、41、42a和42b列出了ePOS-PrintAPI的一些方法和部件。[0110]圖43提供了用于ePOS-PrintBuilder(ePOS-打印構(gòu)建器)對(duì)象的構(gòu)造器的樣本代碼。[0111]圖44提供了對(duì)齊參數(shù)的類型的示例。[0112]圖45提供了ePOS-PrintBuilder對(duì)象的返回值。[0113]圖46示出了例外錯(cuò)誤。[0114]圖47提供了示出了文本對(duì)齊的使用的樣本代碼。[0115]圖48提供了將換行間距設(shè)置為30點(diǎn)的樣本代碼。[0116]圖49示出了用于旋轉(zhuǎn)參數(shù)的布爾值。[0117]圖50提供了用于設(shè)置文本旋轉(zhuǎn)的樣本代碼。[0118]圖51示出了以字符串指示不可打印字符的轉(zhuǎn)義序列。[0119]圖52提供了示出addText(data(數(shù)據(jù)))的使用的樣本代碼。[0120]圖53提供了用于指定目標(biāo)語(yǔ)言的參數(shù)“l(fā)ang”的示例。[0121]圖54提供了示出方法addTextLang(Iang)的使用的樣本代碼。[0122]圖55示出了用于字體參數(shù)的樣本值。[0123]圖56提供了示出addTextFont(font(字體))方法的使用的樣本代碼。[0124]圖57示出了用于參數(shù)“smooth(平滑)”的可能值。[0125]圖58提供了示出方法addTextSmooth(smooth)的使用的樣本代碼。[0126]圖59描述了用于dw的參數(shù)值。[0127]圖60描述了用于dh的參數(shù)值。[0128]圖61提供了用于將文本大小設(shè)置為雙倍寬度和雙倍高度的樣本代碼。[0129]圖62示出了用于參數(shù)“width(寬度)”的可能值。[0130]圖63示出了用于參數(shù)“height(高度)”的可能值。[0131]圖64示出了用于設(shè)置水平縮放x4和垂直縮放x4的樣本代碼。[0132]圖65示出了用于參數(shù)“reverse(反轉(zhuǎn))”的可能值。[0133]圖66示出了用于參數(shù)“ul”的可能值。[0134]圖67示出了用于參數(shù)“em”的可能值。[0135]圖68示出了用于參數(shù)“color(顏色)”的可能值。[0136]圖69示出了用于設(shè)置下劃線風(fēng)格的樣本代碼。[0137]圖70示出了用于將打印位置設(shè)置在從左端起120個(gè)點(diǎn)處的樣本代碼。[0138]圖71示出了用于每隔30個(gè)點(diǎn)送紙的樣本代碼。[0139]圖72示出了用于每隔3行送紙的樣本代碼。[0140]圖73示出了用于在打印字符串之后開(kāi)始新行的樣本代碼。[0141]圖74示出了用于addlmage方法內(nèi)的參數(shù)“color(顏色)”的樣本值。[0142]圖75示出了用于addlmage方法內(nèi)的參數(shù)“mode(模式)”的樣本值。[0143]圖76提供了用于在頁(yè)面模式中打印寬度為300個(gè)點(diǎn)且高度為300個(gè)點(diǎn)的圖像的樣本代碼。[0144]圖77示出了示出addLogo方法的使用的樣本代碼。[0145]圖78至圖81提供了條形碼類型的示例。[0146]圖82示出了用于hri參數(shù)的一些可能值。[0147]圖83提供了示出如何打印條形碼的樣本代碼。[0148]圖84和圖85提供了用于addSymbol方法內(nèi)的參數(shù)“data(數(shù)據(jù))”的2D(二維)碼類型描述的示例。[0149]圖86提供了用于addSymbol方法內(nèi)的參數(shù)“type(類型)”的樣本值。[0150]圖87提供了用于addSymbol方法內(nèi)的參數(shù)“l(fā)evel(水平)”的樣本值。[0151]圖88提供了用于打印二維符號(hào)的樣本代碼。[0152]圖89示出了用于addHline方法的一些風(fēng)格參數(shù)。[0153]圖90示出了用于繪制雙水平線的樣本代碼。[0154]圖91提供了用于addVLineBegin方法的參數(shù)風(fēng)格的示例。[0155]圖92提供了用于在從左端起的100個(gè)點(diǎn)和200個(gè)點(diǎn)處繪制細(xì)垂直線的樣本代碼。[0156]圖93提供了用于addVLineEnd方法的參數(shù)風(fēng)格的示例。[0157]圖94提供了用于在從左端起的100個(gè)點(diǎn)和200個(gè)點(diǎn)處繪制細(xì)垂直線的樣本代碼。[0158]圖95示出了用于在頁(yè)面模式中打印字符“ABCDE”的樣本代碼。[0159]圖96示出了用于指定原點(diǎn)為(100,50)、寬度為200個(gè)點(diǎn)且高度為30個(gè)點(diǎn)的打印區(qū)域以及打印字符“ABCDE”的樣本代碼。[0160]圖97提供了用于方法addPageDirect1n的參數(shù)“dir”的一些示例。[0161]圖98提供了用于通過(guò)將字符“AB⑶E”順時(shí)針旋轉(zhuǎn)90度來(lái)打印這些字符的樣本代碼。[0162]圖99示出了用于指定(50,30)用于通過(guò)addPageArea方法指定的區(qū)域中的打印開(kāi)始位置以及打印字符“ABCDE”的樣本代碼。[0163]圖100提供了方法addPageLine中的“style(風(fēng)格)”參數(shù)的示例。[0164]圖101提供了用于在開(kāi)始位置(100,0)與結(jié)束位置(500,0)之間繪制細(xì)實(shí)線的樣本代碼。[0165]圖102提供了方法addPageRectangle中的“style(風(fēng)格)”參數(shù)的示例。[0166]圖103示出了用于以細(xì)雙線來(lái)繪制矩形的樣本代碼,其中,以開(kāi)始位置(100,0)和結(jié)束位置(500,200)作為其頂點(diǎn)。[0167]圖104示出了用于方法addCut的樣本類型。[0168]圖105提供了用于執(zhí)行送紙切紙操作的樣本代碼。[0169]圖106示出了用于方法addCut的參數(shù)“drawer(抽屜)”的示例。[0170]圖107示出了用于方法addCut的參數(shù)“time(時(shí)間)”的示例。[0171]圖108示出了用于將100毫秒的脈沖信號(hào)發(fā)送到抽屜彈開(kāi)連接器的引腳“2”的樣本代碼。[0172]圖109示出了蜂鳴器模態(tài)的示例。[0173]圖110示出了在方法addSound中如何設(shè)置參數(shù)“r印eat(重復(fù))”的示例。[0174]圖111示出了用于重復(fù)聲音模態(tài)“A”三次的樣本代碼。[0175]圖112示出了示出方法toStringO的使用的樣本代碼。[0176]圖113示出了要應(yīng)用于單色(兩色調(diào))打印的半色調(diào)處理方法的指定。[0177]圖114示出了用于將半色調(diào)類型設(shè)置為誤差擴(kuò)散的樣本代碼。[0178]圖115提供了用于將亮度設(shè)置為2.2的樣本代碼。[0179]圖116提供了用于清除命令緩沖器并且將其重置為其初始狀態(tài)的樣本代碼。[0180]圖117提供了示出ePOSPring(address(地址))的使用的樣本代碼。[0181]圖118提供了示出send(request(請(qǐng)求))方法的使用的樣本代碼。[0182]圖119提供了示出openO方法的使用的樣本代碼。[0183]圖120提供了示出closeO方法的使用的樣本代碼。[0184]圖121提供了地址屬性的使用的示例。[0185]圖122提供了使用啟用屬性的示例。[0186]圖123提供了使用間隔屬性的示例。[0187]圖124提供了使用狀態(tài)屬性的示例。[0188]圖125示出了響應(yīng)對(duì)象的一些屬性。[0189]圖126示出了成功的值。[0190]圖127示出了代碼的值。[0191]圖128示出了狀態(tài)的值。[0192]圖129示出了用于創(chuàng)建和發(fā)送打印文檔以及在消息框中顯示打印結(jié)果的樣本代碼。[0193]圖130列出了錯(cuò)誤對(duì)象的一些屬性。[0194]圖131示出了用于創(chuàng)建和發(fā)送打印文檔、以及當(dāng)發(fā)生通信錯(cuò)誤時(shí)在消息框中顯示HTTP狀態(tài)代碼的樣本代碼。[0195]圖132提供了使用onstatuschange(狀態(tài)改變中)屬性的示例。[0196]圖133提供了使用ononline(在線中)屬性的示例。[0197]圖134提供了使用onoffline(離線中)屬性的示例。[0198]圖135提供了使用onpoweroff(斷電中)屬性的示例。[0199]圖136提供了使用foncoverok(蓋無(wú)問(wèn)題中)屬性的示例。[0200]圖137提供了使用oncoveropen(蓋打開(kāi)中)屬性的示例。[0201]圖138提供了使用onpaperok(紙無(wú)問(wèn)題中)事件的示例。[0202]圖139提供了使用onpapernearend(紙接近用完中)事件的示例。[0203]圖140提供了使用onpaperend(紙用完中)事件的示例。[0204]圖141提供了使用ondrawerclosed(抽屜關(guān)閉中)事件的示例。[0205]圖142提供了使用ondraweropen(抽屜打開(kāi)中)事件的示例。[0206]圖143提供了ePOS-Print-CanvasAPI的一些部件的列表。[0207]圖144是示出新的ePOS-Print-CanvasAPI對(duì)象的創(chuàng)建的樣本代碼。[0208]圖145示出了參數(shù)“cut(切紙)”的示例。[0209]圖146示出了參數(shù)“mode(模式)”的示例。[0210]圖147提供了用于打印畫(huà)布(ID=’myCanvas’)的樣本代碼。[0211]圖148是示出openO方法的使用的樣本代碼。[0212]圖149是示出closeO方法的使用的樣本代碼。[0213]圖150是示出地址屬性的使用的樣本代碼。[0214]圖151是示出啟用屬性的使用的樣本代碼。[0215]圖152是示出間隔屬性的使用的樣本代碼。[0216]圖153是示出狀態(tài)屬性的使用的樣本代碼。[0217]圖154示出了一些半色調(diào)屬性。[0218]圖155是示出半色調(diào)屬性的使用的樣本代碼。[0219]圖156是示出亮度屬性的設(shè)置的樣本代碼。[0220]圖157示出了響應(yīng)對(duì)象的一些屬性。[0221]圖158示出了成功的值。[0222]圖159示出了代碼的值。[0223]圖160示出了狀態(tài)的值。[0224]圖161示出了用于打印畫(huà)布(ID=myCanvas)以及在消息框中顯示打印結(jié)果的樣本代碼。[0225]圖162列出了錯(cuò)誤對(duì)象的一些屬性。[0226]圖163示出了用于打印畫(huà)布(ID=myCanvas)以及當(dāng)發(fā)生通信錯(cuò)誤時(shí)在消息框中顯示HTTP狀態(tài)代碼的樣本代碼。[0227]圖164是示出onstatuschange(狀態(tài)改變中)事件的使用的樣本代碼。[0228]圖165提供了使用ononline(在線中)屬性的示例。[0229]圖166提供了使用onoffline(離線中)屬性的示例。[0230]圖167提供了使用onpoweroff(斷電中)事件的示例。[0231]圖168提供了使用oncoverok(蓋無(wú)問(wèn)題中)事件的示例。[0232]圖169提供了使用oncoveropen(蓋打開(kāi)中)事件的示例。[0233]圖170提供了使用onpaperok(紙無(wú)問(wèn)題中)事件的示例。[0234]圖171提供了使用onpapernearend(紙接近用完中)事件的示例。[0235]圖172提供了使用onpaperend(紙用完中)事件的示例。[0236]圖173a提供了使用ondrawerclosed(抽屜關(guān)閉中)事件的示例。[0237]圖173b提供了使用ondraweropen(抽屜打開(kāi)中)事件的示例。[0238]圖174提供了用于根據(jù)本發(fā)明的ePOS打印編輯器的樣本主頁(yè)面(S卩,index.html或主頁(yè))。[0239]圖175示出了從對(duì)根據(jù)本發(fā)明的ePOS打印編輯器的“Setting(設(shè)置)”選項(xiàng)卡的選擇而得到的設(shè)置屏幕。[0240]圖176提供了概括由設(shè)置屏幕提供的一些選項(xiàng)的表格。[0241]圖177提供了根據(jù)本發(fā)明的ePOS打印編輯器的編輯屏幕的另一視圖。[0242]圖178示出了根據(jù)本發(fā)明的ePOS打印編輯器的樣本預(yù)覽圖像。[0243]圖179提供了在選擇了打印選項(xiàng)卡的情況下的當(dāng)前ePOS打印編輯器的樣本視圖。[0244]圖180示出了根據(jù)本發(fā)明的輸入屏幕。[0245]圖181提供了在選擇了API選項(xiàng)卡的情況下的當(dāng)前ePOS打印編輯器的樣本視圖?!揪唧w實(shí)施方式】[0246]先前,為了從因特網(wǎng)上的網(wǎng)頁(yè)進(jìn)行打印,用戶通常需要經(jīng)歷網(wǎng)絡(luò)瀏覽器接口上的網(wǎng)絡(luò)瀏覽器選擇打印按鈕或者經(jīng)歷因特網(wǎng)上的第三方打印服務(wù)。網(wǎng)絡(luò)瀏覽器控制對(duì)諸如打印機(jī)的本地資源的訪問(wèn)?;旧?,網(wǎng)絡(luò)瀏覽器用作到本地操作系統(tǒng)的接口,本地操作系統(tǒng)進(jìn)而控制對(duì)任何安裝的打印機(jī)驅(qū)動(dòng)器的訪問(wèn)。如果希望通過(guò)因特網(wǎng)上的第三方打印服務(wù)進(jìn)行打印,則要打印的文檔需要也存在于因特網(wǎng)上而不僅僅是在用戶的本地裝置上。在任一情況下,用戶需要經(jīng)歷用于從可用登記打印機(jī)和打印選項(xiàng)當(dāng)中進(jìn)行選擇的打印機(jī)對(duì)話框,這些可用登記打印機(jī)和打印選項(xiàng)對(duì)希望從其進(jìn)行打印的網(wǎng)頁(yè)來(lái)說(shuō)都不是已知的。[0247]為了改進(jìn)網(wǎng)絡(luò)打印的能力,本發(fā)明盡力增加網(wǎng)絡(luò)應(yīng)用(即,網(wǎng)頁(yè))的能力,并且特別地,增加在網(wǎng)頁(yè)內(nèi)執(zhí)行的腳本應(yīng)用(即,窗口小部件、方法等)的能力以直接控制網(wǎng)絡(luò)打印機(jī)和非網(wǎng)絡(luò)打印機(jī),而不需要經(jīng)歷網(wǎng)絡(luò)瀏覽器的打印選擇按鈕或依賴于第三方因特網(wǎng)打印服務(wù)。[0248]優(yōu)選實(shí)施例中的打印機(jī)可以是本地打印機(jī)和/或遠(yuǎn)程打印機(jī)。即,本發(fā)明允許網(wǎng)頁(yè)腳本應(yīng)用創(chuàng)建打印文檔并且與打印機(jī)通信并控制打印機(jī),而不需要來(lái)自網(wǎng)絡(luò)瀏覽器的明確打印許可或打印輔助。除了由腳本應(yīng)用直接創(chuàng)建的打印文檔之外,打印文檔可能不需要存在于因特網(wǎng)上以進(jìn)行打印。作為優(yōu)選實(shí)現(xiàn),當(dāng)在以下討論中提及腳本應(yīng)用時(shí),其被討論為以作為基于Java的腳本語(yǔ)言的JavaScript語(yǔ)言來(lái)實(shí)現(xiàn)。然而,應(yīng)理解,本發(fā)明可使用本領(lǐng)域公知的其它腳本語(yǔ)言來(lái)實(shí)現(xiàn)。[0249]由于本發(fā)明為網(wǎng)頁(yè)添加了打印能力并且通常經(jīng)由網(wǎng)絡(luò)瀏覽器來(lái)訪問(wèn)網(wǎng)頁(yè),因此本發(fā)明的優(yōu)選實(shí)施例包括能夠運(yùn)行網(wǎng)絡(luò)瀏覽器的本地計(jì)算裝置。為了便于利用現(xiàn)有的網(wǎng)絡(luò)和非網(wǎng)絡(luò)打印機(jī)對(duì)本發(fā)明的使用,此外優(yōu)選的是,網(wǎng)頁(yè)經(jīng)由接口框(即,裝置,設(shè)備或模塊)進(jìn)行通信,該接口框能夠接收來(lái)自網(wǎng)頁(yè)的打印指令以及將打印指令翻譯成用于所連接的打印機(jī)的適當(dāng)通信格式/語(yǔ)言。優(yōu)選地,接口框提供了用于網(wǎng)頁(yè)與打印機(jī)之間的通信的翻譯服務(wù),并且還提供了用于創(chuàng)建適合于給定打印機(jī)的打印文檔的任何所需幫助。由于接口框具有計(jì)算和做決定的能力,因此它是智能裝置。因此,為了易于討論,接口框在下文中稱為“智能豐吳塊”。[0250]如果打印機(jī)不是非網(wǎng)絡(luò)打印機(jī),則本地打印機(jī)經(jīng)由智能模塊(優(yōu)選地是物理計(jì)算設(shè)備/裝置)連接到本地計(jì)算裝置(其上安裝了網(wǎng)絡(luò)瀏覽器)。替選地,如果打印機(jī)是網(wǎng)絡(luò)打印機(jī),則優(yōu)選的是,智能模塊仍用作與本地打印機(jī)的通信接口。此外,在網(wǎng)絡(luò)環(huán)境中,智能模塊可用作用于多個(gè)(網(wǎng)絡(luò)和非網(wǎng)絡(luò))打印機(jī)的通信接口。[0251]盡管本發(fā)明可在具有網(wǎng)絡(luò)瀏覽器和打印機(jī)的任何計(jì)算環(huán)境中來(lái)實(shí)現(xiàn),但是為了易于說(shuō)明以及作為優(yōu)選實(shí)施例的示例,本發(fā)明在這里被描述為在零售環(huán)境內(nèi)來(lái)實(shí)現(xiàn)。特別地,本發(fā)明被描述為在銷(xiāo)售點(diǎn)(即,POS)系統(tǒng)或POS網(wǎng)絡(luò)中來(lái)實(shí)現(xiàn)。然而,應(yīng)理解,本發(fā)明可在其它聯(lián)網(wǎng)和非聯(lián)網(wǎng)計(jì)算/打印環(huán)境內(nèi)來(lái)實(shí)現(xiàn)。[0252]在POS系統(tǒng)中,銷(xiāo)售點(diǎn)裝置位于各個(gè)結(jié)賬臺(tái)處以實(shí)現(xiàn)商業(yè)交易并且維持交易記錄。結(jié)賬臺(tái)因此是零售環(huán)境(或零售建立)內(nèi)的地點(diǎn),在該零售環(huán)境中,物理顧客向商品和/或服務(wù)的商家進(jìn)行支付。POS系統(tǒng)可包括可被認(rèn)為是合并了計(jì)算和/或聯(lián)網(wǎng)能力的電子現(xiàn)金出納機(jī)的多個(gè)POS裝置。POS裝置通常具有針對(duì)顧客的記錄打印收條(或交易匯總)的相鄰(或集成)收條打印機(jī)。為了適應(yīng)不確定長(zhǎng)度的交易匯總,收條打印機(jī)通常是“卷紙打印機(jī)”(即,在紙的卷或“紙卷”上進(jìn)行打印的打印機(jī))并且在所打印的交易匯總的結(jié)束時(shí)從紙卷裁切打印部分。然而,應(yīng)理解,本發(fā)明與平板打印機(jī)和其它非卷紙打印機(jī)兼容。[0253]POS裝置通常在POS系統(tǒng)內(nèi)被聯(lián)網(wǎng)并且與中央服務(wù)器通信,該中央服務(wù)器記錄交易以用于記賬和庫(kù)存目的,并且另外可將諸如產(chǎn)品價(jià)格(或者更新以產(chǎn)生價(jià)格)、券、促銷(xiāo)廣告、產(chǎn)品信息(諸如產(chǎn)品描述和/或可用性)和其它數(shù)據(jù)的信息提供到POS裝置。中央服務(wù)器可以是局域網(wǎng)和/或廣域網(wǎng)的一部分,并且可以可選地被分配在多個(gè)服務(wù)器中。可以想到,中央服務(wù)器也可經(jīng)由因特網(wǎng)來(lái)訪問(wèn)。[0254]由于POS系統(tǒng)網(wǎng)絡(luò)包括專用的和計(jì)算機(jī)化的POS裝置,因此其可能對(duì)于購(gòu)買(mǎi)、設(shè)置、維持和升級(jí)來(lái)說(shuō)是復(fù)雜的和高成本的。通過(guò)在同一POS系統(tǒng)網(wǎng)絡(luò)內(nèi)使用不同型號(hào)的POS裝置(來(lái)自不同制造商)和不同型號(hào)的打印機(jī)(來(lái)自不同制造商)而進(jìn)一步增加了實(shí)現(xiàn)和維持POS系統(tǒng)的成本和難度。如所理解的,不同的POS裝置可包括具有不同能力的不同操作平臺(tái)(即,在不同操作系統(tǒng)OS上運(yùn)行),并且不同型號(hào)的打印機(jī)可具有對(duì)于不同操作平臺(tái)的不同驅(qū)動(dòng)器要求/能力。[0255]以下討論示出了本發(fā)明可如何降低設(shè)置、維持和升級(jí)POS系統(tǒng)網(wǎng)絡(luò)、尤其是結(jié)合了不同型號(hào)的POS裝置和不同型號(hào)的打印機(jī)的POS系統(tǒng)網(wǎng)絡(luò)的成本和復(fù)雜度。[0256]在優(yōu)選實(shí)施例中,POS系統(tǒng)在網(wǎng)絡(luò)上來(lái)實(shí)現(xiàn),并且經(jīng)由在網(wǎng)絡(luò)服務(wù)器內(nèi)維持的并且可由用作用于實(shí)現(xiàn)和記錄銷(xiāo)售交易的POS裝置的遠(yuǎn)程網(wǎng)絡(luò)終端訪問(wèn)的網(wǎng)頁(yè)應(yīng)用(S卩,網(wǎng)頁(yè))來(lái)管理商業(yè)交易。替選地,網(wǎng)頁(yè)可維持在智能模塊中,并且POS裝置可從智能模塊訪問(wèn)網(wǎng)頁(yè)。在任一情況下,每個(gè)POS裝置經(jīng)由網(wǎng)絡(luò)瀏覽器來(lái)訪問(wèn)網(wǎng)頁(yè),并且使用網(wǎng)頁(yè)以對(duì)打印機(jī)進(jìn)行打印。優(yōu)選地,商業(yè)交易也經(jīng)由網(wǎng)頁(yè)來(lái)輸入和記錄。[0257]通常與POS裝置相鄰的打印機(jī)可由網(wǎng)絡(luò)服務(wù)器來(lái)控制或者可由POS裝置來(lái)控制。在這兩種情況下,優(yōu)選地,如以下更全面地說(shuō)明的,經(jīng)由智能模塊來(lái)進(jìn)行與打印機(jī)的通信。[0258]替選地,本發(fā)明也可在不使用任何網(wǎng)絡(luò)服務(wù)器的情況下來(lái)實(shí)現(xiàn)。在該情況下,智能模塊可將網(wǎng)頁(yè)提供到POS裝置,并且在POS裝置與打印機(jī)之間傳遞通信。該實(shí)現(xiàn)沒(méi)有排除POS裝置是計(jì)算機(jī)網(wǎng)絡(luò)的一部分。[0259]以此方式,POS裝置的操作平臺(tái)不是限制性因素;所有所需要的是POS裝置能夠運(yùn)行網(wǎng)絡(luò)瀏覽器而與其操作平臺(tái)無(wú)關(guān)。實(shí)際上,POS裝置可使用具有最小計(jì)算功率的簡(jiǎn)化計(jì)算裝置來(lái)實(shí)現(xiàn)。例如,POS裝置可被實(shí)現(xiàn)為具有基本計(jì)算和通信能力的預(yù)算計(jì)算機(jī)平板(budgetcompilertablet)。[0260]參照?qǐng)D3,網(wǎng)頁(yè)31被示出在網(wǎng)絡(luò)瀏覽器33內(nèi)。優(yōu)選地,網(wǎng)絡(luò)瀏覽器33在可用作POS裝置的計(jì)算裝置(S卩,諸如圖4所示的諸如計(jì)算裝置51的數(shù)據(jù)處理裝置)內(nèi)運(yùn)行。如本領(lǐng)域公知的,網(wǎng)絡(luò)瀏覽器33提供了諸如因特網(wǎng)的TCP/IP網(wǎng)絡(luò)內(nèi)的用于訪問(wèn)網(wǎng)頁(yè)的接口,并且通常包括可輸入用于訪問(wèn)期望網(wǎng)頁(yè)的網(wǎng)絡(luò)地址的地址域35。例如,網(wǎng)頁(yè)31可維持(即,設(shè)置)在智能模塊37中并且被下載到網(wǎng)絡(luò)瀏覽器33。替選地,網(wǎng)頁(yè)31可被合并到網(wǎng)絡(luò)瀏覽器33所位于的計(jì)算裝置中(即,默認(rèn)位于網(wǎng)絡(luò)瀏覽器33所位于的計(jì)算裝置中)。網(wǎng)頁(yè)31優(yōu)選地以諸如HTML和/或其變型的標(biāo)記語(yǔ)言來(lái)書(shū)寫(xiě),并且支持諸如JavaScript的腳本語(yǔ)言。[0261]在本實(shí)施例中,網(wǎng)絡(luò)瀏覽器33經(jīng)由智能模塊裝置37與一個(gè)或多個(gè)打印機(jī)(PrinterID_l和PrinterID_2)通信??蛇x地,這些打印機(jī)可以是POS打印機(jī)(即,收條打印機(jī))并且可以可選地打印到各個(gè)紙卷39a和39b上。[0262]優(yōu)選地,智能模塊37經(jīng)由至少一個(gè)打印應(yīng)用程序接口(即,打印AP1、加標(biāo)簽的API_1至API_3)與網(wǎng)頁(yè)31通信。為了圖示目的,打印應(yīng)用程序接口API_1至API_3被示出為嵌入在網(wǎng)頁(yè)31內(nèi),并且它們提供了到各個(gè)打印腳本應(yīng)用(諸如Print_Script_App_l至Print_Script_App_3)的接口。如果期望,可經(jīng)由單個(gè)打印API來(lái)組合和訪問(wèn)所有打印腳本應(yīng)用的功能。此外,優(yōu)選地,打印腳本應(yīng)用是提供如下所述的各種打印機(jī)功能的Java腳本應(yīng)用,并且經(jīng)由至少一個(gè)打印API來(lái)訪問(wèn)。API_1至API_3(及其各自的打印腳本應(yīng)用Print_Script_App_l至Print_Script_App_3)可作為打印API庫(kù)的一部分被提供到網(wǎng)頁(yè)開(kāi)發(fā)者以合并該打印能力。[0263]API_1至API_3為網(wǎng)頁(yè)31提供了打印接口,并且打印腳本應(yīng)用Print_Script_App_l至Print_Script_App_3被設(shè)計(jì)為提供打印能力和/或與智能模塊37通信。打印API和打印腳本應(yīng)用可一起作為單元被嵌入在網(wǎng)頁(yè)31內(nèi),諸如API_l+Print_Script_App_l和API_2+Print_Script_App_2所示的。在該情況下,二者均可以以共同術(shù)語(yǔ)“API”或“打印API”來(lái)定址,并且該“API”因此將處理與網(wǎng)頁(yè)31的接口、打印文檔的創(chuàng)建和打印文檔到智能模塊37的發(fā)送。[0264]如本領(lǐng)域技術(shù)人員可理解的,打印API可以是具體軟件類(如在面向?qū)ο笳Z(yǔ)言中所定義的)的實(shí)例,并且可借助于構(gòu)造器(如在OOP語(yǔ)言中定義的)來(lái)創(chuàng)建打印API。在一個(gè)實(shí)施例中,打印API可包括用于初始化API的構(gòu)造器。[0265]在另一實(shí)施例中,打印API及其相應(yīng)的打印腳本應(yīng)用可被分開(kāi)以使得打印API嵌入在網(wǎng)頁(yè)31內(nèi),但是其相應(yīng)的打印腳本應(yīng)用被維持在智能模塊37內(nèi)以分離。這通過(guò)以下來(lái)示出:API_3嵌入在網(wǎng)頁(yè)31內(nèi),而其相應(yīng)的打印腳本應(yīng)用Print_Script_App_3被維持在智能模塊37內(nèi)。以此方式,Print_Script_App3所需的一些計(jì)算資源可從網(wǎng)絡(luò)瀏覽器33所位于的裝置被卸載并且被傳遞到智能模塊37。在該情況下,API_3將用于定義打印文檔所需的所有數(shù)據(jù)發(fā)送到Print_Script_App3,Print_Script_App3然后將在智能模塊37內(nèi)創(chuàng)建相應(yīng)打印文檔以及將所得到的打印文檔發(fā)送到指定打印機(jī)。打印API與其相應(yīng)打印腳本應(yīng)用的分離還允許智能模塊37內(nèi)的腳本應(yīng)用的更新、而不會(huì)改變網(wǎng)絡(luò)瀏覽器內(nèi)的打印AP1在該情況下,可為網(wǎng)絡(luò)開(kāi)發(fā)者提供打印API庫(kù)以合并到其網(wǎng)頁(yè)中,但是相應(yīng)打印腳本應(yīng)用的實(shí)現(xiàn)的細(xì)節(jié)可被維持在智能模塊37中或者網(wǎng)絡(luò)服務(wù)器中,因此被保持為對(duì)網(wǎng)絡(luò)開(kāi)發(fā)者隱藏。[0266]在優(yōu)選實(shí)施例中,每個(gè)打印API直接與智能模塊37通信。因此,智能模塊37被配置成接收(即,被分配)被示出為IP_ADD_1的網(wǎng)絡(luò)地址。該網(wǎng)絡(luò)地址可以是靜態(tài)地址或動(dòng)態(tài)分配地址。[0267]每個(gè)打印API優(yōu)選地提供有地址屬性元素(即,地址數(shù)據(jù)域),該地址屬性元素被配置成接收智能模塊37的網(wǎng)絡(luò)地址,每個(gè)打印API可通過(guò)該網(wǎng)絡(luò)地址而將其通信定址到智能模塊37。如果智能模塊37的網(wǎng)絡(luò)地址是靜態(tài)的(即,固定的),則每個(gè)API內(nèi)的地址屬性元素可手動(dòng)來(lái)設(shè)置。替選地,如果網(wǎng)絡(luò)地址是動(dòng)態(tài)的,則網(wǎng)絡(luò)地址解析服務(wù)可用于確定智能模塊37的網(wǎng)絡(luò)地址,并且使得在每個(gè)打印API的地址屬性元素中輸入解析后的地址。此夕卜,優(yōu)選地,地址屬性元素被配置成設(shè)置超時(shí)時(shí)期。該超時(shí)時(shí)期可指示被分配用于從智能模塊接收確認(rèn)或其它響應(yīng)的最大時(shí)間量。優(yōu)選地,打印API包括用于響應(yīng)于超時(shí)時(shí)期過(guò)去而取消打印作業(yè)(或所提交的打印請(qǐng)求)的步驟或處理。[0268]此外,優(yōu)選地,每個(gè)打印機(jī)可由名稱或標(biāo)識(shí)碼(ID)或(網(wǎng)絡(luò))地址來(lái)標(biāo)識(shí)。為了易于討論,打印機(jī)ID和/或打印機(jī)網(wǎng)絡(luò)地址由參考字符“PrinterID_r’和“printerID_2”來(lái)指定。此外,為了易于討論,當(dāng)使用打印機(jī)ID時(shí),應(yīng)理解,由于本發(fā)明想到取代打印機(jī)ID而使用打印機(jī)網(wǎng)絡(luò)地址,因此可替換“打印機(jī)網(wǎng)絡(luò)地址”。此外,優(yōu)選地,名稱、打印機(jī)ID和/或打印機(jī)地址被提供到打印API。打印API因此可通過(guò)名稱、打印機(jī)ID和/或打印機(jī)網(wǎng)絡(luò)地址來(lái)指定目標(biāo)打印機(jī),以接收打印請(qǐng)求或打印文檔。[0269]在一個(gè)實(shí)施例中,打印API的地址屬性元素被擴(kuò)展,從而還接收目標(biāo)打印機(jī)的ID(或網(wǎng)絡(luò)地址)。例如,地址屬性元素可被配置成設(shè)置目標(biāo)打印機(jī)的裝置標(biāo)識(shí)(ID或網(wǎng)絡(luò)地址),該裝置標(biāo)識(shí)將其指定為要打印的文檔應(yīng)該被發(fā)送到的打印機(jī)。打印API還可具有接收事件元素,該接收事件元素被配置成從打印機(jī)獲得響應(yīng)消息。響應(yīng)消息可包括打印結(jié)果、錯(cuò)誤代碼和/或打印機(jī)狀態(tài)。錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示所發(fā)生的自動(dòng)可恢復(fù)錯(cuò)誤或不可恢復(fù)錯(cuò)誤之一。因此,打印API可經(jīng)由地址屬性元素指定的智能模塊而從打印機(jī)接收響應(yīng)消息。以此方式,經(jīng)由在地址屬性元素中指定的智能模塊而進(jìn)行目標(biāo)打印機(jī)與打印API之間的通信。另外,地址屬性元素可被配置成設(shè)置超時(shí)時(shí)期。該超時(shí)時(shí)期可指示被分配用于從智能模塊或從打印機(jī)接收確認(rèn)或其它響應(yīng)的最大時(shí)間量。優(yōu)選地,打印API包括用于響應(yīng)于超時(shí)時(shí)期過(guò)去、取消用于在由地址屬性元素指定的打印機(jī)中打印文檔的打印作業(yè)(或所提交的打印請(qǐng)求)的步驟或處理。[0270]替選地,打印API可將打印請(qǐng)求發(fā)送到智能模塊37而無(wú)需指定特定打印機(jī),并且智能模塊37可基于向其發(fā)送打印請(qǐng)求的裝置的鄰近信息或者通過(guò)確定哪個(gè)打印機(jī)可用(即,不繁忙)而選擇打印機(jī)。在該情況下,智能模塊37優(yōu)選地知道網(wǎng)頁(yè)運(yùn)行的裝置的位置和打印機(jī)的位置,以便選擇距發(fā)出打印請(qǐng)求的裝置最近的打印機(jī)。此外,替選地,一旦智能模塊37選擇了用于發(fā)出打印請(qǐng)求的特定裝置的打印機(jī),則所選擇的打印機(jī)優(yōu)選地變?yōu)楸环峙浣o該裝置,并且來(lái)自同一裝置的所有未來(lái)打印請(qǐng)求被發(fā)送到同一選擇的打印機(jī)。[0271]由于嵌入在網(wǎng)頁(yè)31內(nèi)的每個(gè)打印API可以借助于其地址屬性元素(其保持智能模塊37的網(wǎng)絡(luò)地址)而直接與智能模塊37通信,因此每個(gè)打印API可在任何時(shí)間提交打印請(qǐng)求、而無(wú)需用戶干預(yù)或者無(wú)需將打印請(qǐng)求提交到其所在的網(wǎng)絡(luò)瀏覽器33。例如,在結(jié)賬臺(tái)處,在產(chǎn)品項(xiàng)被網(wǎng)絡(luò)瀏覽器標(biāo)識(shí)(即,掃描)并且被添加到總體交易匯總時(shí),打印API可提交用于打印正被匯總以購(gòu)買(mǎi)的每個(gè)產(chǎn)品項(xiàng)的描述。因此,網(wǎng)頁(yè)31可產(chǎn)生任何數(shù)據(jù)(包括新生成的數(shù)據(jù)和/或顯示屏的一個(gè)或多個(gè)部分)的打印文檔,并且在任何期望的時(shí)間提交用于打印的打印文檔。例如,API可以以多個(gè)片段(即,在不同時(shí)間)生成打印文檔的部分,然后將這些片段組合和/或布置為合成打印文檔以發(fā)送到打印機(jī)。替選地,由于在本實(shí)施例中優(yōu)選的打印機(jī)是滾筒打印機(jī),因此打印API可將多個(gè)片段發(fā)送到打印機(jī)進(jìn)行打印,并且在打印會(huì)話結(jié)束時(shí)(即,在結(jié)賬臺(tái)處的商業(yè)交易結(jié)束時(shí))發(fā)送用于裁切紙卷的打印部分的指令。[0272]在操作中,打印腳本應(yīng)用(或者如果API與其相應(yīng)打印腳本應(yīng)用被組合作為單個(gè)單元?jiǎng)t為API本身)包括第一方法元素(即,第一可執(zhí)行例程或可執(zhí)行方法),該第一方法元素用于通過(guò)將打印機(jī)控制指令累積(即,添加)到命令緩沖器中然后執(zhí)行所累積的打印機(jī)控制指令來(lái)定義打印文檔。優(yōu)選地,打印腳本應(yīng)用(或API)還包括第二方法元素(即,第二可執(zhí)行例程),該第二方法元素被配置成將所定義的打印文檔發(fā)送到智能模塊37。打印文檔因此可通過(guò)依次執(zhí)行第一和第二方法元素來(lái)創(chuàng)建。[0273]在本討論中,所述軟件方法的全部或一些可由在面向?qū)ο笳Z(yǔ)言中所定義的軟件對(duì)象來(lái)取代。[0274]智能模塊37優(yōu)選地被實(shí)現(xiàn)為數(shù)據(jù)處理裝置(包括但不限于:控制單元電路和/或中央處理單元;和/或易失性/非易失性電存儲(chǔ)器;和/或數(shù)據(jù)/控制寄存器;和/或信號(hào)總線;和/或電子通信接口;和/或一個(gè)或多個(gè)查找表)。智能模塊37可被實(shí)現(xiàn)為在其自己的物理包裝中的獨(dú)立單元,或者可替選地被合并到(或者物理上附接到)打印機(jī)、服務(wù)器或其它電子裝置。在操作中,智能模塊37從嵌入在網(wǎng)頁(yè)31內(nèi)的打印API接收打印文檔,將其轉(zhuǎn)換(如果需要)成用于指定(或者指派)打印機(jī)的適當(dāng)打印文檔,并且將其發(fā)送到指派打印機(jī)進(jìn)行打印??蛇x地,智能模塊37可包括用于每個(gè)打印機(jī)的打印機(jī)驅(qū)動(dòng)器,并且利用打印機(jī)驅(qū)動(dòng)器來(lái)定義適當(dāng)打印文檔。替選地,智能模塊37可從打印API接收命令緩沖器的記錄,通過(guò)執(zhí)行命令緩沖器中的打印機(jī)命令而創(chuàng)建打印文檔,并且將所創(chuàng)建的打印文檔發(fā)送到適當(dāng)打印機(jī)。此外替選地,從打印API接收的命令可以是諸如格式化信息和打印內(nèi)容數(shù)據(jù)的一般打印描述,并且智能模塊然后可基于指派打印機(jī)的能力而確定用于生成與一般打印描述最類似的打印文檔的所需打印機(jī)命令,然后將所生成的打印文檔發(fā)送到指派打印機(jī)。[0275]在以上討論中,所創(chuàng)建的打印文檔可以是XML打印文檔或位圖打印文檔或本領(lǐng)域公知的其它文檔描述格式。[0276]如所示出的,打印機(jī)PrintID_l和PrintID_2可以是分別在紙卷39a和39b上進(jìn)行打印的POS打印機(jī)。打印機(jī)還可具有諸如(全部或部分可拆卸)蓋41、抽屜43、蜂鳴器45和切紙器(或自動(dòng)切紙器)47的附件。這些附件優(yōu)選地可經(jīng)由上述的并且由智能模塊37轉(zhuǎn)發(fā)到打印機(jī)的打印機(jī)命令來(lái)控制。在目標(biāo)打印機(jī)可發(fā)送到打印API的錯(cuò)誤代碼或打印機(jī)狀態(tài)當(dāng)中,如上所述,可以是蓋打開(kāi)的指示。類似地,錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示在自動(dòng)切紙器中發(fā)生了錯(cuò)誤。打印機(jī)還可具有檢測(cè)紙是否在打印機(jī)中的傳感器,并且錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示傳感器是否沒(méi)有檢測(cè)到紙。替選地,錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示發(fā)送到智能模塊37的文檔是否包含語(yǔ)法錯(cuò)誤。替選地,錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示是否不存在所提交的打印機(jī)ID指定的打印API的目標(biāo)打印機(jī)。[0277]如所理解的,PrintID_l和PrintID_2具有用于與智能模塊37通信的通信端口。錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示是否在通信端口上檢測(cè)到錯(cuò)誤。錯(cuò)誤代碼或打印機(jī)狀態(tài)還可指示是否過(guò)去了上述超時(shí)時(shí)期。替選地,錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示成功完成了打印操作。如上所述,打印機(jī)可通過(guò)可具有至少一個(gè)引腳的連接器連接到抽屜。在該情況下,錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示連接器的預(yù)定引腳的狀態(tài)。[0278]替選地,錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示打印機(jī)離線或者等待返回在線,或者沒(méi)有從打印機(jī)接收到響應(yīng)。[0279]PrintID_l和PrintID_2還可具有用于送紙39a和39b的開(kāi)關(guān),并且錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示何時(shí)通過(guò)開(kāi)關(guān)的操作來(lái)送紙。錯(cuò)誤代碼或打印機(jī)狀態(tài)還可指示蜂鳴器45何時(shí)接通(即,啟動(dòng))。打印機(jī)或智能模塊37可具有被配置成緩存用于打印文檔的打印作業(yè)的緩存器,并且錯(cuò)誤代碼或打印機(jī)狀態(tài)可指示緩存器是否已停止。[0280]在圖3的實(shí)施例中,本發(fā)明被實(shí)現(xiàn)為可聯(lián)網(wǎng)或者可不聯(lián)網(wǎng)的系統(tǒng)。S卩,網(wǎng)絡(luò)瀏覽器33運(yùn)行的本地裝置可以是沒(méi)有連接到任何特定中央服務(wù)器的獨(dú)立裝置。與本地裝置是獨(dú)立裝置還是與其它POS裝置或服務(wù)器聯(lián)網(wǎng)無(wú)關(guān),智能模塊37可用作在打印機(jī)與網(wǎng)頁(yè)31之間轉(zhuǎn)發(fā)和翻譯通信(以及生成任何需要的命令和指令)信號(hào)的打印機(jī)控制框。[0281]圖4示出了本發(fā)明的網(wǎng)絡(luò)實(shí)現(xiàn)。與圖3的元件類似的所有元件具有類似的附圖標(biāo)記并且在以上進(jìn)行了描述。如所示出的,網(wǎng)絡(luò)55包括計(jì)算裝置51、服務(wù)器53、智能模塊37和打印機(jī)PrinterID_2。計(jì)算裝置51、服務(wù)器53和智能模塊37經(jīng)由網(wǎng)絡(luò)通信信道57通信,網(wǎng)絡(luò)通信信道57可以是有線信道、無(wú)線信道或者二者的組合。可以是計(jì)算機(jī)平板或其它數(shù)據(jù)處理裝置的計(jì)算裝置51經(jīng)由網(wǎng)絡(luò)瀏覽器33訪問(wèn)網(wǎng)頁(yè)31。可選地,從服務(wù)器53或從智能模塊37訪問(wèn)網(wǎng)頁(yè)(S卩,網(wǎng)絡(luò)應(yīng)用)31。即,網(wǎng)絡(luò)應(yīng)用31可維持(S卩,存儲(chǔ)或設(shè)置)在服務(wù)器53和/或智能模塊37中(以及從服務(wù)器53和/或智能模塊37訪問(wèn))。[0282]可選地,打印機(jī)PrinterID_2可包括非易失性存儲(chǔ)器59。在一個(gè)實(shí)施例中,諸如標(biāo)記的多個(gè)預(yù)定義圖像可存儲(chǔ)在存儲(chǔ)器59中并且由諸如L0G0_1至L0G0_3的ID代碼來(lái)標(biāo)識(shí)/定址。[0283]如上所說(shuō)明的,打印API定義累積打印機(jī)控制命令的命令緩沖器。各種類型的控制命令可累積在命令緩沖器中。圖5示出了根據(jù)本發(fā)明的可累積在命令緩沖器63中的打印機(jī)控制命令61的一些示例。每個(gè)命令可得到執(zhí)行該命令所需的一個(gè)或多個(gè)指令。[0284]例如,參照?qǐng)D5,命令之一可以是用于將用于打印的文本添加到命令緩沖器的文本命令。即,文本命令可定義插入要打印的文本的、具有有限或無(wú)限長(zhǎng)度的數(shù)據(jù)域。另一命令可以是用于將定義(即,設(shè)置)文本的屬性的參數(shù)添加到命令緩沖器的文本設(shè)置命令。這樣的屬性可包括插入文本的大小、字體、顏色等。文本設(shè)置命令可設(shè)置多個(gè)不同參數(shù)。例如,第一文本設(shè)置參數(shù)可指定用于在紙上進(jìn)行打印的開(kāi)始位置,并且另一文本設(shè)置參數(shù)可設(shè)置對(duì)齊要求。其它參數(shù)可設(shè)置插入文本的語(yǔ)言、字體、風(fēng)格、縮放和/或大小。另外的文本設(shè)置參數(shù)可包括用于指定是否旋轉(zhuǎn)打印文本或者是否實(shí)現(xiàn)文本平滑化的參數(shù)。[0285]其它指令可以是用于將用于在打印機(jī)中送紙的一個(gè)或多個(gè)指令添加到命令緩沖器的送紙命令。[0286]此外的其它命令可以是用于添加用于打印的光柵圖像的圖像命令。如本領(lǐng)域公知的,光柵圖像通常是一次一點(diǎn)定義當(dāng)在顯示介質(zhì)上觀看時(shí)的圖像(諸如位圖)的矩形區(qū)域,并且定義圖像文件。優(yōu)選地,打印API包括半色調(diào)屬性元素,并且在網(wǎng)絡(luò)應(yīng)用中渲染的彩色圖像根據(jù)半色調(diào)屬性元素的設(shè)置而通過(guò)圖像命令被轉(zhuǎn)換成用于打印的光柵圖像數(shù)據(jù)。優(yōu)選地,半色調(diào)屬性元素指定抖動(dòng)、誤差擴(kuò)散和/或用于將彩色圖像轉(zhuǎn)換成光柵圖像數(shù)據(jù)的閾值中的至少一個(gè)。打印API還可包括亮度屬性元素,該亮度屬性元素可指定用于校正光柵圖像數(shù)據(jù)的亮度的在范圍0.1至10.0中的伽馬值。在該情況下,圖像命令可根據(jù)亮度屬性元素的設(shè)置而將彩色圖像轉(zhuǎn)換成用于打印的光柵圖像數(shù)據(jù)。[0287]如圖4所示,PrinterID_2可包括用于登記至少一個(gè)標(biāo)記的非易失性NV存儲(chǔ)器59。在該情況下,優(yōu)選地,存在用于將標(biāo)識(shí)特定標(biāo)記的鍵碼添加到命令緩沖器以打印所標(biāo)識(shí)的標(biāo)記的標(biāo)記命令。即,鍵碼指定在NV存儲(chǔ)器59中登記的特定標(biāo)記(即,標(biāo)記LOGO_l至LOGO_3)。[0288]其它命令可以是用于將打印條形碼的指令添加到命令緩沖器的條形碼命令。優(yōu)選地,支持多個(gè)條形碼類型,并且條形碼命令包括至少指定所期望的條形碼類型、條形碼的寬度和高度和/或要轉(zhuǎn)換(即,編碼)成所選擇的條形碼類型的數(shù)據(jù)的條形碼參數(shù)。[0289]其它命令可以是用于將打印二維符號(hào)的指令添加到命令緩沖器的符號(hào)命令。符號(hào)命令可包括指定二維符號(hào)的類型、二維符號(hào)的誤差校正水平或者要轉(zhuǎn)換成二維符號(hào)的數(shù)據(jù)中的至少一個(gè)的符號(hào)參數(shù)。[0290]優(yōu)選地,其它命令是用于將繪制第一線的指令添加到命令緩沖器的第一線命令。第一線命令可包括指定第一線的開(kāi)始位置和結(jié)束位置的第一線參數(shù)。本發(fā)明還可包括第二線命令,該第二線命令用于將開(kāi)始無(wú)限長(zhǎng)度的第二線的繪制的指令添加到命令緩沖器、以及提供指定第二線的開(kāi)始位置的第二線參數(shù)但是沒(méi)有提供用于指定第二線的任何結(jié)束位置的線參數(shù)。在該情況下,優(yōu)選地,本發(fā)明包括用于添加結(jié)束(即,停止)由第二線命令開(kāi)始的第二線的繪制的指令的第三線命令。第三線命令可包括指定第二線的結(jié)束位置的第三線參數(shù)。[0291]此外的其它命令可以是頁(yè)面模式命令,該頁(yè)面模式命令用于將切換到頁(yè)面模式以及在頁(yè)面模式中添加打印區(qū)域的指令添加到命令緩沖器。即,頁(yè)面模式可以是如下打印模式:其中,定義了打印區(qū)域,數(shù)據(jù)布置在打印區(qū)域中,并且在批操作中打印該打印區(qū)域。頁(yè)面模式還可包括指定打印區(qū)域的期望設(shè)置位置的至少一個(gè)坐標(biāo)。第二頁(yè)面模式命令可添加用于結(jié)束由第一頁(yè)面模式命令發(fā)起的頁(yè)面模式的指令。另外的第三頁(yè)面模式命令可至少一個(gè)關(guān)于由第一頁(yè)面模式命令定義的頁(yè)面模式的設(shè)置(即,設(shè)置參數(shù))。第三頁(yè)面模式命令可包括指定用于在頁(yè)面模式中進(jìn)行打印的方向的第三頁(yè)面參數(shù)、或者指定用于在頁(yè)面模式中進(jìn)行打印的開(kāi)始位置的坐標(biāo)。第四頁(yè)面模式命令還可添加用于在由第一頁(yè)面模式命令定義的頁(yè)面模式中繪制諸如線或矩形的預(yù)定義形狀的指令。第四頁(yè)面命令可包括指定在頁(yè)面模式內(nèi)的預(yù)定義形狀(即,線或矩形)的開(kāi)始位置和結(jié)束位置的坐標(biāo)。第四頁(yè)面命令還可包括指定形狀的類型選擇的第四頁(yè)面參數(shù)。例如,第四頁(yè)面參數(shù)可指定線類型或矩形類型。[0292]其它的命令可以是用于將用于諸如借助于切紙器47切紙(即,打印介質(zhì))的指令添加到命令緩沖器的切紙命令。切紙命令可包括指定在無(wú)需首先送紙的情況下切紙或者在送紙之后切紙中的任一個(gè)的切紙參數(shù)。[0293]如圖3所示,根據(jù)本發(fā)明的打印機(jī)可具有連接到該打印機(jī)的抽屜43。假設(shè)為該情況,則其它命令可以是用于將彈開(kāi)(即,釋放或解鎖)抽屜的指令添加到命令緩沖器的抽屜彈開(kāi)命令。優(yōu)選地,抽屜彈開(kāi)命令包括第一抽屜參數(shù),該第一抽屜參數(shù)指定施加用于打開(kāi)抽屜的信號(hào)的導(dǎo)通持續(xù)時(shí)間。此外,優(yōu)選地,抽屜通過(guò)兩個(gè)連接器連接到打印機(jī),并且抽屜彈開(kāi)命令包括指定連接抽屜和打印機(jī)的連接器中的任一個(gè)(或者其釋放)的第二抽屜參數(shù)。[0294]如圖3所示,PrinterID_2可包括蜂鳴器45。如果這樣,則其它命令可以是用于將接通(或啟動(dòng))蜂鳴器的指令添加到命令緩沖器的蜂鳴器命令。蜂鳴器命令可包括指定重復(fù)蜂鳴器的啟動(dòng)的模態(tài)或次數(shù)的蜂鳴器參數(shù)。[0295]在POS系統(tǒng)中所實(shí)現(xiàn)的本發(fā)明的具體示例如下。[0296]圖6示出了應(yīng)用在POS系統(tǒng)79中的本發(fā)明的具體示例。如所示出的,本示例包括如上所述的服務(wù)器71、網(wǎng)絡(luò)瀏覽器73和智能模塊75。為了說(shuō)明目的,智能模塊75被標(biāo)識(shí)為“TM智能打印機(jī)”以指示其可包括與一個(gè)或多個(gè)打印機(jī)通信的一個(gè)或多個(gè)智能模塊的組合。如上所述,網(wǎng)絡(luò)瀏覽器73可在POS裝置(諸如電子/計(jì)算機(jī)化現(xiàn)金出納機(jī))內(nèi)執(zhí)行,并且網(wǎng)絡(luò)瀏覽器73訪問(wèn)網(wǎng)頁(yè)77。為了易于討論,應(yīng)用在本POS系統(tǒng)79中的本發(fā)明的打印機(jī)制/方法稱為“ePOS-Print(ePOS-打印)”。[0297]ePOS-Print提供了用于在多平臺(tái)環(huán)境中控制POS打印機(jī)的功能。使用ePOS-Print,數(shù)據(jù)可以從個(gè)人計(jì)算機(jī)、智能電話或平板計(jì)算機(jī)上的網(wǎng)絡(luò)瀏覽器到TM智能打印機(jī)(即,一個(gè)或多個(gè)智能模塊和一個(gè)或多個(gè)打印機(jī)的組合)直接被打印。[0298]另外,可以打印以HTML5Canvas渲染的打印圖像。如本領(lǐng)域公知的,HTML5Canvas是用于圖形的容器,并且提供了用于經(jīng)由腳本來(lái)繪制圖形的方式。ePOS-Print提供了用于打印命令的API(相當(dāng)于本討論中的“打印API”)。當(dāng)打印文檔(請(qǐng)求)經(jīng)由HTTP從主機(jī)(即,網(wǎng)絡(luò)瀏覽器73運(yùn)行的裝置或終端)被發(fā)送到TM智能打印機(jī)75的ePOS-Print服務(wù)時(shí),ePOS-Print對(duì)該文檔的打印進(jìn)行處理并且返回響應(yīng)文檔(即,響應(yīng))。[0299]本實(shí)現(xiàn)包括多個(gè)特征。例如,只要本系統(tǒng)在網(wǎng)絡(luò)環(huán)境中,具有支持HTML5的網(wǎng)絡(luò)瀏覽器的終端就可以從任何地方執(zhí)行打印。不需要打印機(jī)驅(qū)動(dòng)器和插件的安裝。不需要PC或服務(wù)器用于打印。本系統(tǒng)允許從公共和私有網(wǎng)絡(luò)云進(jìn)行打印。本發(fā)明一般地還允許以網(wǎng)絡(luò)瀏覽器支持的任何語(yǔ)言進(jìn)行打印。本發(fā)明在打印之前自動(dòng)檢查T(mén)M打印機(jī)的狀態(tài)。不需要預(yù)先檢查T(mén)M打印機(jī)的狀態(tài)。本系統(tǒng)不對(duì)打印機(jī)的功能進(jìn)行響應(yīng)以自動(dòng)發(fā)送其狀態(tài)(諸如AutoStatusBack(自動(dòng)狀態(tài)返回)功能)。替代地,本系統(tǒng)能夠發(fā)送空打印命令并且基于命令傳輸?shù)慕Y(jié)果而檢查(即,確定)TM打印機(jī)的狀態(tài)。然而,為了改變打印機(jī)設(shè)置,可使用專用于每個(gè)打印機(jī)的利用程序或者其它利用程序。因此,本發(fā)明允許TM打印機(jī)經(jīng)由TM智能打印機(jī)進(jìn)行打印。本發(fā)明因此可提供ePOS-PrintAPI和ePOS-Print-CanvasAPI兩者。如上所討論的,本發(fā)明還允許使用裝置字體用于打印,允許條形碼打印,允許以HTML5Canvas渲染的圖像的打印以及允許使用TrueType字體用于打印。優(yōu)選地,f允許使用裝置字體用于打印并且允許條形碼打印。此外,優(yōu)選地,ePOS-Print-CanvasAPI允許以HTML5Canvas渲染的圖像的打印以及允許使用TrueType字體用于打印。[0300]圖7示出了可借助于ePOS-PrintAPI實(shí)現(xiàn)的打印類型的示例。示出了兩個(gè)收條81和83。收條81示出了如上討論的各種打印命令的執(zhí)行的示例。收條81示出了打印標(biāo)記、文本對(duì)齊(居中)、送紙和切紙的示例。收條83示出了執(zhí)行用于執(zhí)行以下的打印命令的示例:打印光柵圖像、打印雙倍寬度風(fēng)格的文本、諸如縮放=x6(水平)和x4(垂直)的縮放、對(duì)齊(中心)以及打印條形碼。[0301]圖8示出了可借助于ePOS-Print-CanvasAPI實(shí)現(xiàn)的打印類型的示例。在本示例中,通過(guò)HTML5Canvas創(chuàng)建的圖形包括通常是單色圖形(或圖像)的條形碼以及緊挨在條形碼之上的圖示圖形。圖示圖形可以是單色的或灰度的或者彩色的。[0302]圖9是根據(jù)本發(fā)明的實(shí)施例的打印流程的示例。本示例示出了服務(wù)器、無(wú)線LAN路由器、網(wǎng)絡(luò)瀏覽器、TM智能打印機(jī)和可以被控制的打印機(jī)。優(yōu)選地,根據(jù)本發(fā)明的網(wǎng)絡(luò)應(yīng)用(即,網(wǎng)頁(yè))可設(shè)置(即,維持)在服務(wù)器中,并且網(wǎng)絡(luò)瀏覽器顯示網(wǎng)絡(luò)應(yīng)用。在操作中,網(wǎng)絡(luò)瀏覽器可將打印數(shù)據(jù)發(fā)送到TM智能打印機(jī)(或智能模塊),TM智能打印機(jī)將打印數(shù)據(jù)發(fā)送到在其控制下的適當(dāng)打印機(jī),并且這些打印機(jī)打印數(shù)據(jù)。TM智能打印機(jī)然后將響應(yīng)文檔返回到網(wǎng)絡(luò)瀏覽器(即,返回到運(yùn)行網(wǎng)絡(luò)瀏覽器的終端)。[0303]ePOS-PrintAPI可提供多個(gè)功能。例如,其可以提供打印設(shè)置功能,諸如對(duì)齊(例如,文本對(duì)齊)、換行間隔、文本旋轉(zhuǎn)和頁(yè)面模式。還可以提供多個(gè)字符數(shù)據(jù)設(shè)置(例如,文本字符),諸如語(yǔ)言、字體(裝置字體)、雙倍大小、縮放、平滑化和打印位置。還可以提供字符風(fēng)格設(shè)置,諸如黑白反轉(zhuǎn)、下劃線和粗體。還可包括打印機(jī)操作控制,諸如送紙?jiān)O(shè)置(以點(diǎn)計(jì)數(shù)或以行計(jì)數(shù))。ePOS-PrintAPI優(yōu)選地還提供圖像打印(即,光柵圖像和NV圖形)、條形碼打印和二維符號(hào)打印。還可提供規(guī)則線設(shè)置、抽屜彈開(kāi)功能、蜂鳴器功能、ESC/P0S命令傳輸、響應(yīng)文檔獲取(打印結(jié)果、打印機(jī)狀態(tài)和/或系統(tǒng)錯(cuò)誤狀態(tài))。[0304]ePOS-Print-CanvasAPI還可提供多個(gè)功能。例如,可提供以HTML5Canvas植染的圖像(光柵圖像)的打印、送紙和切紙功能以及響應(yīng)文檔獲取(諸如打印結(jié)果、打印機(jī)狀態(tài)和/或系統(tǒng)錯(cuò)誤狀態(tài))。[0305]優(yōu)選的網(wǎng)絡(luò)瀏覽器因此是支持HTML5的瀏覽器。支持HTML5的網(wǎng)絡(luò)瀏覽器的示例是WindowsInternetExplorer9或更后面的版本、MozillaFirefox3.6或更后面的版本、Google(谷歌)Chrome7或更后面的版本、1S4.0或更后面的版本中的Safar1、以及Android(安卓)2.2或更后面的版本中的標(biāo)準(zhǔn)瀏覽器。[0306]圖10中示出了根據(jù)本發(fā)明的系統(tǒng)構(gòu)造示例。該示例再次示出了(網(wǎng)絡(luò))服務(wù)器(其中設(shè)置了網(wǎng)絡(luò)應(yīng)用(即網(wǎng)頁(yè)))、終端(其上安裝了支持HTML5的網(wǎng)絡(luò)瀏覽器)、可選無(wú)線LAN路由器、TM智能打印機(jī)和可以由TM智能打印機(jī)控制的打印機(jī)。與之前相同,TM智能打印機(jī)接收和打印從網(wǎng)絡(luò)瀏覽器發(fā)送的打印數(shù)據(jù)和/或控制其它裝置,并且在其控制下的打印機(jī)打印從TM智能打印機(jī)接收的打印數(shù)據(jù)。[0307]圖11示出了網(wǎng)絡(luò)應(yīng)用到TM智能打印機(jī)的登記。如上所說(shuō)明的,終端使用瀏覽器執(zhí)行(即,訪問(wèn))網(wǎng)絡(luò)應(yīng)用(即,網(wǎng)頁(yè)),并且將裝置控制(其可包括打印數(shù)據(jù))發(fā)送到TM智能打印機(jī)。TM智能打印機(jī)然后打印從網(wǎng)絡(luò)瀏覽器發(fā)送的接收打印數(shù)據(jù)。[0308]在本發(fā)明的優(yōu)選實(shí)施例中,可施加一些限制。例如,打印機(jī)的抽屜和蜂鳴器可不一起使用。自然地,如果打印機(jī)沒(méi)有蜂鳴器則無(wú)法使用蜂鳴器功能。[0309]本發(fā)明還可遵守由特定網(wǎng)絡(luò)瀏覽器提供的限制。例如,InternetExplorer9不允許從受安全保護(hù)的網(wǎng)頁(yè)(其通常由地址頭“HTTPS”來(lái)標(biāo)識(shí))執(zhí)行到打印機(jī)的打印。[0310]圖12提供了根據(jù)本發(fā)明的使用ePOS-PrintAPI創(chuàng)建的樣本程序屏幕的示例。以下示例假設(shè)網(wǎng)絡(luò)服務(wù)器使用Iis(微軟因特網(wǎng)信息服務(wù))來(lái)配置。框I示出了排隊(duì)票,框2示出了券,以及框3標(biāo)識(shí)了“設(shè)置”啟動(dòng)按鈕。在一個(gè)實(shí)施例中,框I可打印排隊(duì)票號(hào)碼,并且框2自然打印券。[0311]圖3是可響應(yīng)于圖12的設(shè)置按鈕的啟動(dòng)而調(diào)用的設(shè)置窗口的示例。設(shè)置可包括智能打印機(jī)(即,如上所說(shuō)明的智能模塊)的網(wǎng)絡(luò)地址(即,IP地址)、目標(biāo)打印機(jī)的裝置ID、超時(shí)設(shè)置和用于以灰度進(jìn)行打印的選項(xiàng)。[0312]圖14示出了使用ePOS-PrintAPI的第一樣本打印輸出和使用ePOS-Print-CanvasAPI的第二樣本打印輸出。如所示出的,ePOS-Print-CanvasAPI優(yōu)選地用于打印圖形。[0313]圖15示出了示出從其初始顯示狀態(tài)直至打印作業(yè)完成的處理步驟流程的樣本流程圖。這是使用ePOS-PrintAPI打印的排隊(duì)票號(hào)碼發(fā)放的示例。處理通過(guò)在步驟91打開(kāi)網(wǎng)絡(luò)應(yīng)用(即,樣本程序網(wǎng)頁(yè))而開(kāi)始。然后在步驟93輸入設(shè)置。一些設(shè)置可包括TM智能打印機(jī)的IP地址、要控制的打印機(jī)的裝置ID和(打印)超時(shí)時(shí)間。通過(guò)如步驟95所示選擇(即,點(diǎn)擊)“發(fā)放排隊(duì)票號(hào)碼”選項(xiàng)來(lái)創(chuàng)建適當(dāng)排隊(duì)票。然后可調(diào)用ePOS-PrintBuilder對(duì)象來(lái)創(chuàng)建打印數(shù)據(jù)(步驟95)。ePOS-Print對(duì)象然后創(chuàng)建打印(步驟99)。[0314]圖16示出了示出用于券發(fā)放的處理步驟流程的樣本流程圖。這是ePOS-PrintCanvasAPI的示例。處理流程通過(guò)根據(jù)本發(fā)明打開(kāi)網(wǎng)頁(yè)而開(kāi)始(步驟101)。如果需要,可輸入設(shè)置(步驟103)。設(shè)置的示例是TM智能打印機(jī)的IP地址、要用于打印的打印機(jī)的裝置ID和打印超時(shí)時(shí)間。然后點(diǎn)擊(即,啟動(dòng)/選擇)“發(fā)券”選項(xiàng)(步驟105)。網(wǎng)頁(yè)然后以HTML5Canvas渲染券(步驟107)。最終,在步驟109中,網(wǎng)頁(yè)使用ePOS-PrintCanvasAPI(即,ePOS-PrintCanvasAPI對(duì)象)向TM智能打印機(jī)(即,智能模塊)發(fā)出打印請(qǐng)求。[0315]圖17是根據(jù)本發(fā)明的操作環(huán)境的示例。基本上,圖17提供了用于以下討論的一些樣本程序的系統(tǒng)配置圖。圖17示出了具有固定IP地址(192.168.192.10)的網(wǎng)絡(luò)服務(wù)器。該網(wǎng)絡(luò)服務(wù)器可配置環(huán)境設(shè)置。網(wǎng)絡(luò)服務(wù)器直接與無(wú)線LAN路由器通信,該無(wú)線LAN路由器可具有固定IP地址例如(192.168.192.1)。無(wú)線LAN路由器提供了TM智能打印機(jī)(其可具有固定IP地址例如(192.168.192.20))和可由TM智能打印機(jī)控制的可選第二打印機(jī)之間的通信路徑(諸如有線連接)。優(yōu)選地,可選第二打印機(jī)也具有固定IP地址例如(192.168.192.21)。在本實(shí)現(xiàn)中,無(wú)線LAN路由器提供了到終端的無(wú)線通信鏈路,該終端具有支持HTML5的網(wǎng)絡(luò)瀏覽器并且可在其上執(zhí)行根據(jù)本發(fā)明的網(wǎng)頁(yè)。在本示例中,終端具有動(dòng)態(tài)網(wǎng)絡(luò)地址(被示出為(192.168.192.XXX)),并且該動(dòng)態(tài)網(wǎng)絡(luò)地址可以由DHCP來(lái)發(fā)出。例如,無(wú)線LAN路由器可通過(guò)DHCP向終端發(fā)出IP地址。[0316]圖18示出了用于配置用于樣本程序的環(huán)境設(shè)置的處理流程。在步驟111中,通過(guò)配置路由器設(shè)置(諸如SSID、IP地址、DHCP和分配IP地址)而開(kāi)始。接下來(lái),在步驟113中,配置計(jì)算機(jī)設(shè)置。這可被劃分為配置用于計(jì)算機(jī)的網(wǎng)絡(luò)設(shè)置(諸如IP地址)的第一子步驟113a和配置計(jì)算機(jī)上的網(wǎng)絡(luò)服務(wù)器的第二子步驟113b。在步驟115中,登記程序以執(zhí)行。在本示例中,登記了稱為ePOS-Print_API_UM_E_Sample的樣本程序。然后提供終端設(shè)置(步驟117),諸如配置終端的無(wú)線LAN(W1-Fi)設(shè)置以匹配路由器設(shè)置以便實(shí)現(xiàn)網(wǎng)絡(luò)連接。在步驟119中,配置用于TM智能打印機(jī)的網(wǎng)絡(luò)設(shè)置。這可經(jīng)由網(wǎng)絡(luò)瀏覽器來(lái)進(jìn)行。接下來(lái),在步驟121中,配置要控制的打印機(jī)的網(wǎng)絡(luò)設(shè)置。這些設(shè)置可通過(guò)使用如本領(lǐng)域公知的網(wǎng)絡(luò)設(shè)置實(shí)用程序來(lái)配置。在步驟123中提供可選裝置ID設(shè)置。這些設(shè)置可經(jīng)由網(wǎng)絡(luò)瀏覽器來(lái)配置,但是在本樣本程序中不需要。最終,在步驟125中,可經(jīng)由網(wǎng)絡(luò)瀏覽器來(lái)配置任何所需程序設(shè)置。注意,在本樣本程序中不需要程序設(shè)置。[0317]圖19是用于TM智能打印機(jī)的網(wǎng)絡(luò)設(shè)置的示例??赏ㄟ^(guò)啟動(dòng)網(wǎng)絡(luò)瀏覽器并將TM智能打印機(jī)接口的IP地址輸入到地址條127中來(lái)開(kāi)始。然后可選擇諸如如129所示的有線TCP/IP或無(wú)線TCP/IP的配置。如131所示,“TCP/IP設(shè)置”屏幕然后出現(xiàn)并且配置用于TM智能打印機(jī)的網(wǎng)絡(luò)設(shè)置。為了測(cè)試IP地址,可使用TM智能打印機(jī)提交狀態(tài)單。[0318]圖20是裝置設(shè)置的示例。例如,可將要由ePOS-Print控制的打印機(jī)的ID設(shè)置到TM智能打印機(jī)中。可使用網(wǎng)絡(luò)瀏覽器來(lái)輸入TM智能打印機(jī)的IP地址(133)。然后選擇裝置進(jìn)行配置(135)?!把b置設(shè)置”屏幕137出現(xiàn)。圖21示出了可配置的裝置設(shè)置的示例。顯示關(guān)于所登記的裝置的信息139。[0319]以上配置和登記序列的執(zhí)行將導(dǎo)致圖12的樣本程序屏幕。[0320]接下來(lái)討論用于使用ePOS打印(即,使用根據(jù)本發(fā)明的打印API)進(jìn)行編程的向Q寸ο[0321]優(yōu)選地,存在兩種類型的打印模式:標(biāo)準(zhǔn)模式和頁(yè)面模式。在標(biāo)準(zhǔn)模式中,逐行打印字符?;谧煮w大小和圖像(即,條形碼等)的高度來(lái)調(diào)整換行間隔。標(biāo)準(zhǔn)模式適合于打印收條,或者要求紙長(zhǎng)度根據(jù)打印間隔進(jìn)行改變的其它打印類型。[0322]在頁(yè)面模式中,設(shè)置(S卩,定義)打印區(qū)域,在該打印區(qū)域中布置數(shù)據(jù),并且在批操作中打印數(shù)據(jù)。例如,字符、圖像和條形碼可根據(jù)位置坐標(biāo)而布置在打印區(qū)域中,然后在批操作中打印所得到的打印區(qū)域。[0323]圖22示出了用于使用ePOS-PrintAPI進(jìn)行編程的樣本工作流程。第一步驟141要將ePOS-PrintAPI嵌入在網(wǎng)頁(yè)中。優(yōu)選地,ePOS-PrintAPI被提供作為JavaScript,并且可遵循以下文件命名慣例:“epos-print-2.X.X.js”。即,提供ePOS-PrintAPI以使得ePOS-Print可以在客戶端裝置中用作JavaScript。通過(guò)將epos-print_2.x.x.js嵌入在應(yīng)用(諸如網(wǎng)頁(yè))中來(lái)使用ePOS-PrintAPI。為了使用ePOS-PrintAPI,epos-print-2.x.x.js放置(S卩,設(shè)置)在網(wǎng)絡(luò)服務(wù)器上,并且被分發(fā)到客戶端。例如,可通過(guò)使用HTML〈腳本>標(biāo)簽而將ePOS-PrintAPI腳本嵌入到網(wǎng)頁(yè)中。圖23示出了使用HTML〈腳本>標(biāo)簽來(lái)嵌入ePOS-PrintAPI的示例。[0324]下一步驟143是創(chuàng)建要打印的文檔??墒褂胑POS-PrintBuilder對(duì)象來(lái)創(chuàng)建打印文檔。例如,使用用于ePOS-PrintBulider對(duì)象的構(gòu)造器來(lái)創(chuàng)建ePOS-PrintBulider對(duì)象,并且使用該對(duì)象的方法來(lái)創(chuàng)建打印文檔??墒褂胻oString方法或者如以下列出的其它打印機(jī)API方法/功能來(lái)獲取打印文檔。圖24示出了用于創(chuàng)建打印文檔的程序代碼片段的示例。[0325]為了創(chuàng)建文本打印文檔,使用文本方法將字體設(shè)置存儲(chǔ)到命令緩沖器中,然后創(chuàng)建打印文檔。圖25示出了用于創(chuàng)建文本打印文檔的樣本腳本代碼。樣本腳本代碼使用稱為FontA的字體,設(shè)置x4水平和x4垂直的文本縮放,以及將風(fēng)格設(shè)置為粗體。樣本腳本的結(jié)果是利用指定文本設(shè)置以文本“HelloWorld(你好,世界)”來(lái)創(chuàng)建打印文檔。[0326]圖26提供了創(chuàng)建圖形打印文檔的樣本腳本代碼。更具體地,樣本腳本代碼創(chuàng)建用于圖像文件logo,bmp的打印文檔?;旧?,其描述了打印光柵圖像的一種方式。以下討論打印登記在打印機(jī)內(nèi)的非易失性存儲(chǔ)器中的圖形的另一方法。為了在本示例中創(chuàng)建圖形打印文檔,使用addlmage方法將通過(guò)以HTML5Canvas渲染圖像而獲得的光柵圖像存儲(chǔ)到命令緩沖器中。[0327]如圖22的步驟143所示的用于創(chuàng)建打印文檔的另一方法是創(chuàng)建頁(yè)面模式打印文檔。圖27示出了用于創(chuàng)建頁(yè)面模式打印文檔的樣本代碼。示例將短語(yǔ)“Helloworld”添加到打印區(qū)域中。以下示例使用addPageBegin方法。當(dāng)addPageBegin方法存儲(chǔ)在命令緩沖器中時(shí),頁(yè)面模式開(kāi)始。打印區(qū)域存儲(chǔ)到命令緩沖器中(借助于addPageArea方法),并且打印開(kāi)始位置存儲(chǔ)(借助于addPagePosit1n方法)到命令緩沖器中。然后根據(jù)打印數(shù)據(jù)來(lái)指定打印開(kāi)始位置。然后將這些方法存儲(chǔ)到命令緩沖器中以創(chuàng)建打印數(shù)據(jù)。為了結(jié)束頁(yè)面模式,將PageEnd方法存儲(chǔ)到命令緩沖器中。[0328]返回到圖22,在打印文檔創(chuàng)建步驟143之后是用于傳送所創(chuàng)建的打印文檔的步驟145。圖28提供了用于打印文檔的傳輸?shù)臉颖敬a。在本示例中,使用ePOS-Print對(duì)象來(lái)發(fā)送打印文檔??墒褂脴?gòu)造器來(lái)創(chuàng)建ePOS-Print對(duì)象,并且可將要用于打印的打印機(jī)的結(jié)束點(diǎn)地址以及打印文檔指定(即,輸入)到用于發(fā)送文檔的發(fā)送方法中。圖29提供了具有關(guān)于打印機(jī)結(jié)束點(diǎn)地址的細(xì)節(jié)的表格。[0329]如圖22所示,最后的步驟147是打印數(shù)據(jù)的接收??梢酝ㄟ^(guò)使用ePOS-Print對(duì)象的接收中屬性(以下討論)設(shè)置召回函數(shù)來(lái)接收打印結(jié)果。圖30提供了用于實(shí)現(xiàn)召回函數(shù)的樣本代碼??色@得的信息的示例包括打印結(jié)果、錯(cuò)誤代碼和打印機(jī)狀態(tài)。圖31提供了用于召回函數(shù)的錯(cuò)誤處理方法的示例。圖32示出了用于在不進(jìn)行打印的情況下檢查打印機(jī)狀態(tài)的狀態(tài)事件通知功能的使用。[0330]圖33示出了用于使用ePOS-Print-CanvasAPI進(jìn)行編程的工作流程。與在ePOS-PrintAPI的情況下一樣,ePOS-Print-CanvasAPI以步驟151開(kāi)始,步驟151將ePOS-Print-CanvasAPI嵌入到網(wǎng)頁(yè)中。圖34不出了用于嵌入ePOS-Print-CanvasAPI的樣本代碼。為了說(shuō)明目的,ePOS-Print-CanvasAPI被示出為JavaScript,并且優(yōu)選地遵循命名慣例:“epos-print-2.x.xjs”。ePOS-Print-CanvasAPI可維持(即,放置/保持/存儲(chǔ))在網(wǎng)絡(luò)服務(wù)器中然后被分發(fā)到客戶端以嵌入到其應(yīng)用(即,網(wǎng)頁(yè))中。如圖34所示,ePOS-Print-CanvasAPI可通過(guò)使用HTML〈腳本>標(biāo)簽而嵌入到網(wǎng)絡(luò)應(yīng)用中。[0331]圖33中的下一步驟153用于以HTML5-Canvas進(jìn)行渲染。圖35提供了用于以HTML5-Canvas進(jìn)行渲染的樣本代碼。下一步驟155用于打印所渲染的畫(huà)布圖像。圖36提供了用于傳送用于打印的打印文檔的樣本代碼。為了使用ePOS-PrintCanvasAPI打印以HTML5-Canvas繪制的內(nèi)容,使用構(gòu)造器來(lái)創(chuàng)建ePOS-PrintCanvasAPI對(duì)象。為了使用該打印方法,指定要用于打印的打印機(jī)的結(jié)束點(diǎn)地址以及畫(huà)布內(nèi)容以及是否選擇切紙,然后打印該文檔。[0332]如步驟157所指示的,TM智能打印機(jī)(即,智能模塊)接收傳送內(nèi)容。圖37示出了用于打印結(jié)果收條和召回函數(shù)的樣本代碼。如之前,可以通過(guò)使用ePOS-PrintCanvasAPI對(duì)象的接收中屬性設(shè)置召回函數(shù)來(lái)接收打印結(jié)果。以此方式,可以獲得關(guān)于打印結(jié)果、錯(cuò)誤代碼和打印機(jī)狀態(tài)的信息。圖38提供了用于通過(guò)召回函數(shù)進(jìn)行錯(cuò)誤處理的樣本代碼。因此,如圖39的樣本代碼所示的,可以使用狀態(tài)事件通知功能來(lái)檢查打印機(jī)狀態(tài)而不進(jìn)行打印。[0333]如上所述,ePOS-PrintAPI提供用于創(chuàng)建打印文檔的多種方法。圖40、圖41、圖42a和圖42b列出了由ePOSBulider對(duì)象定義的ePOS-PrintAPI的一些方法和部件。[0334]如本領(lǐng)域技術(shù)人員所理解的,借助于承辦商來(lái)創(chuàng)建和初始化新的ePOS-PrintBuilder對(duì)象,然后可以使用該對(duì)象來(lái)創(chuàng)建用于打印指定要打印的串或圖形、切紙等的控制命令的打印文檔。優(yōu)選地,該構(gòu)造器遵循以下語(yǔ)法'ePOSBuilderO;”。圖43提供了用于ePOS-PrintBuilder對(duì)象的構(gòu)造器的樣本代碼。[0335]用于將文本對(duì)齊設(shè)置添加到命令緩沖器的語(yǔ)法可遵循以下語(yǔ)法:addTextAligh(align),其中,“align(對(duì)齊)”指定對(duì)齊的類型。圖44提供了對(duì)齊參數(shù)的類型的示例。圖45提供了ePOS-PrintBuilder對(duì)象的返回值,并且圖46示出了例外錯(cuò)誤。圖47提供了示出文本對(duì)齊的使用的樣本代碼。[0336]用于將換行間隔設(shè)置添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addTextLineSpace(Iinespc)。參數(shù)“l(fā)inespc”指定換行間隔(以點(diǎn)),并且優(yōu)選地為從O到255的范圍中的整數(shù)。圖48提供了用于將換行間隔設(shè)置為30點(diǎn)的樣本代碼。[0337]用于將文本旋轉(zhuǎn)設(shè)置添加到命令緩沖器的方法優(yōu)選地遵循以下語(yǔ)法:addTextRotate(rotate),其中,“rotate(旋轉(zhuǎn))”是指定是否旋轉(zhuǎn)文本的布爾值。圖49示出了用于旋轉(zhuǎn)參數(shù)的布爾值。圖50提供了用于設(shè)置文本旋轉(zhuǎn)的樣本代碼。[0338]用于將文本打印添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addText(data),其中,參數(shù)“data(數(shù)據(jù))”是要打印的字符串。諸如水平制表符和換行的不可打印字符可使用如圖51所示的轉(zhuǎn)義序列。圖52提供了示出addText(data)的使用的樣本代碼。[0339]用于將語(yǔ)言設(shè)置添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addTextLang(Iang),其中,參數(shù)“l(fā)ang”是指定目標(biāo)語(yǔ)言的串。圖53提供了用于指定目標(biāo)語(yǔ)言的參數(shù)“l(fā)ang”的示例。圖54提供了示出方法addTextLang(Iang)的使用的樣本代碼。[0340]用于將文本字體設(shè)置添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addTextFont(font),其中,參數(shù)“font(字體)”是指定期望字體的串。圖55示出了用于字體參數(shù)的樣本值,并且圖56提供了示出addTextFont(font)方法的使用的樣本代碼。[0341]用于將平滑化設(shè)置添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addTextSmooth(smooth),其中,參數(shù)“smooth(平滑)”是指定是否啟用平滑的布爾值。圖57示出了用于參數(shù)“smooth”的可能值,并且圖58提供了示出方法addTextSmooth(smooth)的使用的樣本代碼。[0342]用于將雙倍大小的文本設(shè)置添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addTextDouble(dw,dh),其中,dw是指定雙倍大小寬度的可選布爾參數(shù),并且dh是指定雙倍大小高度的可選布爾參數(shù)。圖59描述了用于dw的參數(shù)值,并且圖60描述了用于dh的參數(shù)值。圖61提供了用于將文本大小設(shè)置為雙倍寬度和雙倍高度的樣本代碼。[0343]用于將文本縮放設(shè)置添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addTextSize(width,height),其中,參數(shù)“width(寬度)”是指定文本的水平縮放的可選數(shù)字參數(shù),并且參數(shù)“height(高度)”是指定文本的垂直縮放的可選數(shù)字參數(shù)。圖62示出了用于參數(shù)“width”的可能值,并且圖63示出了用于參數(shù)“height”的可能值。圖64示出了用于設(shè)置水平縮放x4和垂直縮放x4的樣本代碼。[0344]用于將文本風(fēng)格設(shè)置添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addTextStyle(reverse,ul,em,color),其中,“reverse(反轉(zhuǎn))”是指定是否使得文本的黑色和白色反轉(zhuǎn)的可選布爾參數(shù),“ul”是指定下劃線風(fēng)格的可選布爾參數(shù),“em”是指定粗體風(fēng)格的可選布爾參數(shù),并且“color(顏色)”是指定顏色的可選串參數(shù)。圖65示出了用于參數(shù)“reverse”的可能值。圖66示出了用于參數(shù)“ul”的可能值。圖67示出了用于參數(shù)“em”的可能值。圖68示出了用于參數(shù)“color”的可能值。圖69提供了用于設(shè)置下劃線風(fēng)格的樣本代碼。[0345]用于將文本的水平打印開(kāi)始位置添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addTextPosit1nOO,其中,“X”是指定水平打印開(kāi)始位置(以點(diǎn))的數(shù)字參數(shù)并且是在從O到65535的范圍中的整數(shù)。圖70示出了用于將打印位置設(shè)置在從左端起的120個(gè)點(diǎn)處的樣本代碼。[0346]用于將按點(diǎn)送紙?zhí)砑拥矫罹彌_器的方法優(yōu)選地遵循語(yǔ)法:addFeedUnit(unit),其中,“unit(單位)”是指定送紙間隔(以點(diǎn))的數(shù)字參數(shù)并且是在從O到255的范圍中的整數(shù)。圖71示出了用于每隔30個(gè)點(diǎn)送紙的樣本代碼。[0347]用于將按行送紙?zhí)砑拥矫罹彌_器的方法優(yōu)選地遵循語(yǔ)法:addFeedLine(line),其中,“l(fā)ine(行)”是指定送紙間隔(以行)的整數(shù)參數(shù)并且在從O到255的范圍中。圖72示出了用于每隔3行送紙的樣本代碼。[0348]用于將換行添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addFeed()。圖73示出了用于在打印字符串之后開(kāi)始新行的樣本代碼。[0349]addlmage方法將光柵圖像打印添加到命令緩沖器,并且打印以HTML5-Canvas渲染的圖形。該方法還根據(jù)半色調(diào)和亮度屬性的設(shè)置而將HTML5-Canvas的RGBA全色圖像中的指定范圍轉(zhuǎn)換為光柵圖像數(shù)據(jù)。假設(shè)圖像中的一個(gè)像素等于一個(gè)打印點(diǎn),并且當(dāng)圖像包含任何透明顏色時(shí),圖像的背景顏色假設(shè)為白色。優(yōu)選地,遵循語(yǔ)法:addlmage(context,x,y,width,height,color,mode),其中,“context(上下文)”是指定HTML5_Canvas的二維上下文的上下文參數(shù),“X”是在從O到65535的范圍中的整數(shù)并且指定打印區(qū)域中的水平開(kāi)始位置,“y”是從O到65535的范圍中的整數(shù)并且指定打印區(qū)域中的垂直開(kāi)始位置,“width”是在從O到65535的范圍中的整數(shù)并且指定打印區(qū)域的寬度,“height”是在從O到65535的范圍中的整數(shù)并且指定打印區(qū)域的高度,“color”是指定顏色的可選串參數(shù)(圖74示出了addlmage方法內(nèi)的參數(shù)“color”的樣本值),并且“mode”是指定顏色模式的可選串參數(shù)(圖75示出了addlmage方法內(nèi)的參數(shù)“mode”的樣本值)。圖76提供了用于在頁(yè)面模式中打印300點(diǎn)寬和300點(diǎn)高的圖像的樣本代碼。[0350]用于將NV標(biāo)記打印添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法addLogo(keyI,key2)。該方法打印已登記在打印機(jī)的NV存儲(chǔ)器中的標(biāo)記。參數(shù)keyl是指定NV標(biāo)記的第一鍵碼I的數(shù)字,并且優(yōu)選地是在從O到255的范圍中的整數(shù)。參數(shù)key2是指定NV標(biāo)記的第二鍵碼2的數(shù)字,并且優(yōu)選地是在從O到255的范圍中的整數(shù)。圖77示出了示出addLogo方法的使用的樣本代碼。[0351]用于將條形碼打印添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addBarcode(data,type,hri,font,width,height)。參數(shù)“data(數(shù)據(jù))”是指定作為串的條形碼數(shù)據(jù)的串。參數(shù)“type(類型)”是指定條形碼類型的串。圖78至圖81提供了條形碼類型的示例。參數(shù)“hri”是指定HRI位置的可選串參數(shù)。圖82示出了用于hri參數(shù)的一些可能值。參數(shù)“font(字體)”是指定HRI字體的可選串。參數(shù)“width(寬度)”是以點(diǎn)指定每個(gè)模塊的寬度的可選整數(shù)并且優(yōu)選地在從2到6的范圍中。參數(shù)“height(高度)”是以點(diǎn)指定條形碼高度的可選整數(shù)并且優(yōu)選地在從I到255的范圍中。圖83提供了示出如何打印條形碼的樣本代碼。[0352]用于將二維符號(hào)打印添加到命令緩沖器的方法優(yōu)選地遵循語(yǔ)法:addSymbol(data,type,level,width,height,size)。參數(shù)“data(數(shù)據(jù))”優(yōu)選地是指定作為字符串的二維(2D)符號(hào)數(shù)據(jù)的串。圖84和圖85提供了addSymbol方法內(nèi)的參數(shù)“data”的二維碼類型描述的示例。參數(shù)“type(類型)”是指定二維符號(hào)類型的串。圖86提供了addSymbol方法內(nèi)的參數(shù)“type”的樣本值。參數(shù)“l(fā)evel(水平)”是指定誤差校正水平的串。圖87提供了用于addSymbol方法內(nèi)的參數(shù)“l(fā)evel”的樣本值。“width(寬度)”參數(shù)是指定模塊寬度的在從O到255的范圍中的整數(shù)。“height(高度)”參數(shù)是指定模塊高度的在從O到255的范圍中的整數(shù)。“size(大小)”參數(shù)是指定二維符號(hào)最大尺寸的在從O到65535的范圍中的整數(shù)。圖88提供了用于打印二維符號(hào)的樣本代碼。[0353]用于將水平線打印添加到命令緩沖器以繪制水平線的方法優(yōu)選地遵循語(yǔ)法addHLine(xl,x2,style),其中,參數(shù)xl是在從O到65535的范圍中的整數(shù)并且指定水平線的開(kāi)始位置(以點(diǎn)),參數(shù)x2是在從O到65535的范圍中的整數(shù)并且指定水平線的結(jié)束位置(以點(diǎn)),并且參數(shù)style(風(fēng)格)是指定線類型的串。圖89示出了用于addHLine方法的一些style參數(shù)。圖90示出了用于在從左端起的100點(diǎn)與200點(diǎn)之間的位置和從左端起的400點(diǎn)與500點(diǎn)之間的位置繪制雙水平線的樣本代碼。[0354]用于將垂直線的開(kāi)始添加到命令緩沖器(即,開(kāi)始垂直線的繪制)的方法遵循語(yǔ)法addVLineBegin(X,style),其中,參數(shù)x是在從O到65535的范圍中的參數(shù)并且指定垂直線的開(kāi)始位置(以點(diǎn)),并且參數(shù)“style(風(fēng)格)”是指定線類型的可選串。圖91提供了用于addVLineBegin方法的參數(shù)style的示例。圖92提供了用于在從左端起的100點(diǎn)和200點(diǎn)處繪制細(xì)垂直線的樣本代碼。[0355]用于將垂直線的結(jié)束添加到命令緩沖器(即,結(jié)束繪制垂直線)的方法遵循語(yǔ)法addVLineEnd(X,style),其中,參數(shù)x是在從O到65535的范圍中的整數(shù)并且指定垂直線的結(jié)束位置(以點(diǎn)),并且參數(shù)“style(風(fēng)格)”是指定想結(jié)束繪制的線的類型的可選串。圖91提供了用于addVLineEnd方法的參數(shù)style的示例。圖94提供了用于在從左端起的100點(diǎn)和200點(diǎn)處繪制細(xì)垂直線的樣本代碼。[0356]用于將切換到頁(yè)面模式添加到命令緩沖器(即,開(kāi)始頁(yè)面模式處理)的方法遵循語(yǔ)法addPageBeginO。用于將頁(yè)面模式的結(jié)束添加到命令緩沖器(即,結(jié)束頁(yè)面模式處理)的方法遵循語(yǔ)法addPageEndO。圖95示出了用于在頁(yè)面模式中打印字符“AB⑶E”的樣本代碼。[0357]方法addPageArea(X,y,width,height)將頁(yè)面模式中的打印區(qū)域添加到命令緩沖器以指定頁(yè)面模式中的打印區(qū)域(坐標(biāo))。在該API功能之后,應(yīng)指定打印數(shù)據(jù)API功能(諸如addText方法)。參數(shù)“X”是在從O到65535的范圍中的整數(shù)并且指定水平軸的原點(diǎn)(以點(diǎn)),其中,O是打印機(jī)的可打印區(qū)域的左端。參數(shù)“y”是在從O到65535的范圍中的整數(shù)并且指定垂直軸的原點(diǎn)(以點(diǎn)),其中,O是沒(méi)有執(zhí)行送紙的位置。參數(shù)“width(寬度)”是指定打印區(qū)域的寬度(以點(diǎn))的從O到65535的整數(shù)。圖96示出了用于指定具有原點(diǎn)(100,50),200個(gè)點(diǎn)的寬度和30個(gè)點(diǎn)的高度的打印區(qū)域并且打印字符“ABCDE”的樣本代碼。[0358]用于將頁(yè)面模式打印方向設(shè)置添加到命令緩沖器(即,指定頁(yè)面模式中的打印方向)的方法遵循語(yǔ)法addPageDirect1n(dir)。如果不需要旋轉(zhuǎn),則可省略該功能。參數(shù)“dir”是指定頁(yè)面模式中的打印方向的串。圖97提供了用于方法addPageDirect1n的參數(shù)“dir”的一些示例。圖98提供了用于通過(guò)將字符“AB⑶E”順時(shí)針旋轉(zhuǎn)90度來(lái)打印字符“ABCDE,,的樣本代碼。[0359]用于將頁(yè)面模式打印位置設(shè)置區(qū)域添加到命令緩沖器(即,在通過(guò)addPageArea方法指定的區(qū)域中指定打印開(kāi)始位置(坐標(biāo)))的方法具有語(yǔ)法addPagePosit1n(X,y)。參數(shù)X是指定水平打印位置(以點(diǎn))的從O到65535的整數(shù)。參數(shù)J是指定垂直打印位置(以點(diǎn))的從O到65535的整數(shù)。圖99示出了指定(50,30)用于addPageArea方法指定的區(qū)域中的打印開(kāi)始位置并且打印字符“ABCDE”的樣本代碼。[0360]用于將頁(yè)面模式中的線繪制添加到命令緩沖器(即,在頁(yè)面模式中繪制線)的方法遵循語(yǔ)法addPageLine(xl,yl,x2,y2,style)。參數(shù)xl是指定線的水平開(kāi)始位置(以點(diǎn))的從O到65535的整數(shù)。參數(shù)yl是指定線的垂直開(kāi)始位置(以點(diǎn))的從O到65535的整數(shù)。參數(shù)x2是指定線的水平結(jié)束位置(以點(diǎn))的從O到65535的整數(shù)。參數(shù)y2是指定線的垂直結(jié)束位置(以點(diǎn))的從O到65535的整數(shù)。參數(shù)“style(風(fēng)格)”是指定線類型的串。圖100提供了方法addPageLine中的“style”參數(shù)的示例。圖101提供了用于在開(kāi)始位置(100,O)與結(jié)束位置(500,O)之間繪制細(xì)實(shí)線的樣本代碼。[0361]用于將在頁(yè)面模式中的矩形繪制添加到命令緩沖器(即,在頁(yè)面模式中繪制矩形)的方法遵循語(yǔ)法addPageRectangle(xl,yl,x2,y2,style)。參數(shù)xl是從O到65535的整數(shù)并且指定線的水平開(kāi)始位置(以點(diǎn))。參數(shù)yl是從O到65535的整數(shù)并且指定線的垂直開(kāi)始位置(以點(diǎn))。參數(shù)x2是從O到65535的整數(shù)并且指定線的水平結(jié)束位置(以點(diǎn))。參數(shù)y2是從O到65535的整數(shù)并且指定線的垂直結(jié)束位置(以點(diǎn))。參數(shù)“style(風(fēng)格)”是指定線類型的串。圖102提供了方法addPageRectangle中的“style”參數(shù)的示例。圖103示出了用于繪制具有細(xì)雙線、以開(kāi)始位置(100,O)和結(jié)束位置(500,200)作為其頂點(diǎn)的矩形的樣本代碼。[0362]用于將切紙?zhí)砑拥矫罹彌_器(S卩,設(shè)置/啟動(dòng)切紙)的方法遵循語(yǔ)法addCut(type),其中,參數(shù)“type(類型)”是指定切紙類型的串。圖104示出了用于方法addCut的樣本類型。圖105提供了用于執(zhí)行送紙切紙操作的樣本代碼。[0363]用于將抽屜彈開(kāi)添加到命令緩沖器的方法具有語(yǔ)法addPulse(drawer,time)。參數(shù)“drawer(抽屜)”是指定抽屜彈開(kāi)連接器的串。圖106示出了用于方法addCut的參數(shù)“drawer”的示例。參數(shù)“time(時(shí)間)”是指定抽屜彈開(kāi)信號(hào)的導(dǎo)通時(shí)間(即,持續(xù)時(shí)間)的可選參數(shù)串。圖107示出了用于方法addCut的參數(shù)“time”的示例。圖108示出了用于將100毫秒脈沖信號(hào)發(fā)送到抽屜彈開(kāi)連接器的引腳“2”的樣本代碼。[0364]用于將蜂鳴器的接通添加到命令緩沖器(即,設(shè)置蜂鳴器)的方法遵循語(yǔ)法addSound(pattern,repeat)。參數(shù)“pattern(模態(tài))”是指定蜂鳴器模態(tài)的可選串。圖109示出了蜂鳴器模態(tài)的示例。參數(shù)“r印eat(重復(fù))”是指定重復(fù)次數(shù)的可選串。圖110示出了如何設(shè)置方法addSound中的參數(shù)“r印eat”的示例。圖111示出了用于重復(fù)聲音模態(tài)“A”三次的樣本代碼。[0365]用于將命令添加到命令緩沖器(即,發(fā)送ESC/POS命令)的方法具有語(yǔ)法addCommand(data),其中,“data(數(shù)據(jù))”是指定作為字符串的ESC/P0S命令的可選串。[0366]用于獲得由ePOS-PrintBuilder對(duì)象生成的打印文檔的方法具有語(yǔ)法toStringO。圖112示出了示出方法toStringO的使用的樣本代碼。[0367]借助于半色調(diào)處理方法來(lái)實(shí)現(xiàn)半色調(diào)屬性,該半色調(diào)處理方法的對(duì)象類型是“string(串)”。圖113示出了要應(yīng)用于單色(兩色調(diào))打印的半色調(diào)處理方法的指定。默認(rèn)值是HALFTONE_DITHER。圖114示出了用于將半色調(diào)類型設(shè)置為誤差擴(kuò)散的樣本代碼。[0368]可通過(guò)設(shè)置伽馬值來(lái)設(shè)置亮度校正。范圍0.1至10.0中的伽馬值被指定(即,可用)用于亮度校正值。圖115提供了用于將亮度設(shè)置為2.2的樣本代碼。[0369]通常通過(guò)ePOS-PrintBuilder對(duì)象的方法添加的命令可以直接根據(jù)該屬性進(jìn)行操作以用于添加或刪除。圖116提供了用于清除命令緩沖器并且將其重置為初始狀態(tài)的樣本代碼。[0370]用于ePOS-Print對(duì)象的構(gòu)造器創(chuàng)建新的ePOS-Print對(duì)象并且對(duì)其初始化。用于發(fā)送使用ePOS-PrintBuilder對(duì)象創(chuàng)建的打印文檔以控制打印機(jī)并且監(jiān)測(cè)傳送結(jié)果或通信狀態(tài)的方法具有語(yǔ)法ePOSPrint(address),其中,“address(地址)”是指定打印文檔被發(fā)送到的打印機(jī)的URL(S卩,網(wǎng)絡(luò)地址)的可選串。圖117提供了示出ePOSPrint(address)的使用的樣本代碼。[0371]發(fā)送方法發(fā)送使用ePOS-PrintBuilder對(duì)象創(chuàng)建的打印文檔。其具有語(yǔ)法send(request),其中,“request(請(qǐng)求)”是指定打印文檔的串。圖118提供了示出send(request)方法的使用的樣本代碼。[0372]打開(kāi)方法啟用狀態(tài)事件操作。其使用事件發(fā)送由地址屬性指定的打印機(jī)的狀態(tài),并且在由間隔屬性指定的間隔更新?tīng)顟B(tài)。其具有語(yǔ)法openO。圖119提供了示出openO方法的使用的樣本代碼。[0373]closeO方法禁止?fàn)顟B(tài)事件操作。圖120提供了示出closeO方法的使用的樣本代碼。[0374]地址屬性用于指定要用于打印的打印機(jī)的URL。圖121提供了地址屬性的使用的示例。[0375]啟用屬性是保持對(duì)于狀態(tài)事件操作的啟用/禁止設(shè)置的布爾值。使用邏輯值來(lái)保持對(duì)于狀態(tài)事件操作的啟用/禁止設(shè)置。這是只讀的。默認(rèn)值為假。圖122提供了使用啟用屬性的示例。[0376]間隔屬性指定更新?tīng)顟B(tài)的間隔。更新?tīng)顟B(tài)的間隔是以毫秒指定的。其具有3000ms(三秒)的默認(rèn)值和1000ms(—秒或更長(zhǎng))的最小值。當(dāng)指定了無(wú)效值時(shí),假設(shè)為3000msο圖123提供了使用間隔屬性的示例。[0377]狀態(tài)屬性提供了打印機(jī)的狀態(tài)。這是從打印機(jī)最近獲得的狀態(tài),并且是只讀的。圖124提供了使用狀態(tài)屬性的示例。[0378]接收中事件是登記召回函數(shù)并且獲得響應(yīng)消息接收事件的屬性。其具有語(yǔ)法:Funct1n(response)。召回函數(shù)的參數(shù)包括:作為參數(shù)的響應(yīng),作為名稱的響應(yīng)消息和作為對(duì)象類型的對(duì)象。圖125示出了響應(yīng)對(duì)象的一些屬性。圖126示出了成功的值。圖127示出了代碼的值。圖128示出了狀態(tài)的值。圖129示出了用于創(chuàng)建和發(fā)送打印文檔以及在消息框中顯示打印結(jié)果的樣本代碼。[0379]錯(cuò)誤中事件屬性登記召回函數(shù)并且獲得通信錯(cuò)誤事件。其具有語(yǔ)法:Funct1n(error)。圖130列出了錯(cuò)誤對(duì)象的一些屬性。圖131示出了用于創(chuàng)建和發(fā)送打印文檔以及當(dāng)發(fā)生通信錯(cuò)誤時(shí)在消息框中顯示HTTP狀態(tài)代碼的樣本代碼。[0380]狀態(tài)改變中事件登記召回函數(shù)以獲得狀態(tài)改變事件。其具有語(yǔ)法:Funct1n(status)。圖132提供了使用狀態(tài)改變中屬性的示例。[0381]在線中事件登記登記召回函數(shù)以獲得在線事件。其具有語(yǔ)法=Funct1nO。圖133提供了使用在線中屬性的示例。[0382]離線中事件登記召回函數(shù)以獲得離線事件。其語(yǔ)法也是Funct1nO。圖134提供了使用離線中屬性的示例。[0383]斷電中事件登記召回函數(shù)以獲得無(wú)響應(yīng)事件。其語(yǔ)法也是Funct1nO。圖135提供了使用斷電中事件的示例。[0384]蓋無(wú)問(wèn)題中事件登記召回函數(shù)以獲得蓋關(guān)閉事件。其語(yǔ)法也是Funct1nO。圖136提供了使用蓋無(wú)問(wèn)題中事件的示例。[0385]蓋打開(kāi)中事件登記召回函數(shù)以獲得蓋打開(kāi)事件。其語(yǔ)法也是Funct1nO。圖137提供了使用蓋打開(kāi)中事件的示例。[0386]紙無(wú)問(wèn)題中事件登記召回函數(shù)以獲得紙剩余事件。其語(yǔ)法也是Funct1nO。圖138提供了使用紙無(wú)問(wèn)題中事件的示例。[0387]紙接近用完中事件登記召回函數(shù)以獲得紙接近用完事件。其語(yǔ)法也是Funct1nO。圖139提供了使用紙接近用完中事件的示例。[0388]紙用完中事件登記召回函數(shù)以獲得紙用完事件。其語(yǔ)法也是Funct1nO。圖140提供了使用紙用完中事件的示例。[0389]抽屜關(guān)閉中事件登記召回函數(shù)以獲得抽屜關(guān)閉事件。其語(yǔ)法也是Funct1nO。圖141提供了使用抽屜關(guān)閉中事件的示例。[0390]抽屜打開(kāi)中事件登記召回函數(shù)以獲得抽屜打開(kāi)事件。其語(yǔ)法也是Funct1nO。圖142提供了使用抽屜打開(kāi)中事件的示例。[0391]以下是一些ePOS-Print-CanvasAPI功能的討論。圖143提供了ePOS-Print-CanvasAPI的一些部件的列表。[0392]ePOS-Print-CanvasAPI對(duì)象打印以HTML5_Canvas渲染的打印圖像,并且監(jiān)測(cè)打印結(jié)果或通信狀態(tài)。用于ePOS-PrintCanvasAPI對(duì)象的構(gòu)造器用于創(chuàng)建新的ePOS-PrintCanvasAPI對(duì)象并且對(duì)其初始化。語(yǔ)法是CanvasPrint(address),其中,“address(地址)”是指定地址屬性(要用于打印的打印機(jī)的URL)的可選串。圖144是示出新的ePOS-Print-CanvasAPI對(duì)象的創(chuàng)建的樣本代碼。[0393]打印方法打印以HTML5-Canvas渲染的圖像。其根據(jù)半色調(diào)和亮度屬性的設(shè)置將HTML5-Canvas的RGBA全色圖像中的指定范圍轉(zhuǎn)換成光柵圖像數(shù)據(jù)。圖像中的一個(gè)像素等于一個(gè)打印機(jī)點(diǎn)。當(dāng)圖像包含任何透明顏色時(shí),圖像的背景顏色假設(shè)為白色。打印方法具有語(yǔ)法:print(canvas,cut,mode)。參數(shù)“canvas(畫(huà)布)”指定要打印的HTML5-Canvas對(duì)象。參數(shù)“cut(切紙)”是設(shè)置是否切紙的可選布爾值。圖145示出了參數(shù)“cut”的示例。參數(shù)“mode(模式)”是指定顏色模式的可選串。圖146示出了參數(shù)“mode”的示例。圖147提供了用于打印畫(huà)布(ID=‘myCanvas’)的樣本代碼。[0394]打開(kāi)方法啟用狀態(tài)事件操作。其使用事件發(fā)送由地址屬性指定的打印機(jī)的狀態(tài),并且在由間隔屬性指定的間隔更新?tīng)顟B(tài)。其具有語(yǔ)法openO。圖148是示出openO方法的使用的樣本代碼。[0395]關(guān)閉方法禁止?fàn)顟B(tài)事件操作。其具有語(yǔ)法=CloseO。圖149是示出closeO方法的使用的樣本代碼。[0396]地址屬性指定要用于打印的打印機(jī)的URL。圖150是示出地址屬性的使用的樣本代碼。[0397]啟用屬性保持對(duì)于狀態(tài)事件操作的啟用/禁止設(shè)置。其是布爾類型,并且使用邏輯布爾值來(lái)保持對(duì)于狀態(tài)事件操作的啟用/禁止設(shè)置。這是只讀的,并且默認(rèn)值為假。圖151是示出啟用屬性的使用的樣本代碼。[0398]間隔屬性指定更新?tīng)顟B(tài)的間隔。更新?tīng)顟B(tài)的間隔是以毫秒指定的。默認(rèn)值是3000ms(三秒),并且其具有最小值1000ms(一秒或更長(zhǎng))。當(dāng)指定了無(wú)效值時(shí),假設(shè)默認(rèn)為3000msο圖152是示出間隔屬性的使用的樣本代碼。[0399]狀態(tài)屬性提供打印機(jī)的狀態(tài)。這是從打印機(jī)最近獲得的狀態(tài)。其是只讀的,并且具有默認(rèn)值O。圖153是示出狀態(tài)屬性的使用的樣本代碼。[0400]半色調(diào)處理方法指定應(yīng)用于單色(兩色調(diào))打印的半色調(diào)屬性。默認(rèn)值是HALFT0NE_DITHERo圖154示出了一些半色調(diào)屬性。圖155是示出半色調(diào)屬性的使用的樣本代碼。[0401]亮度屬性是使用伽馬值設(shè)置的。更具體地,范圍0.1至10.0中的伽馬值被指定為亮度校正值。默認(rèn)值是1.0。圖156是示出亮度屬性的設(shè)置的樣本代碼。[0402]接收中事件是登記召回函數(shù)并且獲得響應(yīng)消息接收事件的屬性。其具有語(yǔ)法:Funct1n(response)。召回函數(shù)的參數(shù)包括:作為參數(shù)的響應(yīng)、作為名稱的響應(yīng)消息和作為對(duì)象類型的對(duì)象。圖157示出了響應(yīng)對(duì)象的一些屬性。圖158示出了成功的值。圖159示出了代碼的值。圖160示出了狀態(tài)的值。圖161示出了用于打印畫(huà)布(ID=HiyCanvas)以及在消息框中顯示打印結(jié)果的樣本代碼。[0403]錯(cuò)誤中事件屬性登記召回函數(shù)并且獲得通信錯(cuò)誤事件。其具有語(yǔ)法:Funct1n(error)。圖162列出了錯(cuò)誤對(duì)象的一些屬性。圖163示出了用于打印畫(huà)布(ID=myCanvas)以及當(dāng)發(fā)生通信錯(cuò)誤時(shí)在消息框中顯示HTTP狀態(tài)代碼的樣本代碼。[0404]狀態(tài)改變中事件登記召回函數(shù)以獲得狀態(tài)改變事件。其具有語(yǔ)法:Funct1n(status)。圖164是示出狀態(tài)改變中事件的使用的樣本代碼。[0405]在線中事件登記召回函數(shù)以獲得在線事件。其具有語(yǔ)法:Funct1nO。圖165提供了使用在線中屬性的示例。[0406]離線中事件登記召回函數(shù)以獲得離線事件。其語(yǔ)法也是Funct1nO。圖166提供了使用離線中屬性的示例。[0407]斷電中事件登記召回函數(shù)以獲得無(wú)響應(yīng)事件。其語(yǔ)法也是Funct1nO。圖167提供了使用斷電中事件的示例。[0408]蓋無(wú)問(wèn)題中事件登記召回函數(shù)以獲得蓋關(guān)閉事件。其語(yǔ)法也是Funct1nO。圖168提供了使用蓋無(wú)問(wèn)題中事件的示例。[0409]蓋打開(kāi)中事件登記召回函數(shù)以獲得蓋打開(kāi)事件。其語(yǔ)法也是Funct1nO。圖169提供了使用蓋打開(kāi)中事件的示例。[0410]紙無(wú)問(wèn)題中事件登記召回函數(shù)以獲得紙剩余事件。其語(yǔ)法也是Funct1nO。圖170提供了使用紙無(wú)問(wèn)題中事件的示例。[0411]紙接近用完中事件登記召回函數(shù)以獲得紙接近用完事件。其語(yǔ)法也是Funct1nO。圖171提供了使用紙接近用完中事件的示例。[0412]紙用完中事件登記召回函數(shù)以獲得紙用完事件。其語(yǔ)法也是Funct1nO。圖172提供了使用紙用完中事件的示例。[0413]抽屜關(guān)閉中事件登記召回函數(shù)以獲得抽屜關(guān)閉事件。其語(yǔ)法也是Funct1nO。圖173a提供了使用抽屜關(guān)閉中事件的示例。[0414]抽屜打開(kāi)中事件登記召回函數(shù)以獲得抽屜打開(kāi)事件。其語(yǔ)法也是Funct1nO。圖173b提供了使用抽屜打開(kāi)中事件的示例。[0415]優(yōu)選地,本發(fā)明還并入了ePOS-打印編輯器。以下討論描述了如何使用根據(jù)本發(fā)明的ePOS-打印編輯器。該工具允許隨意創(chuàng)建ePOS-PrintAPI和樣本代碼。以下ePOS-打印編輯器可用于開(kāi)發(fā)根據(jù)本發(fā)明的網(wǎng)絡(luò)應(yīng)用。[0416]優(yōu)選地,本ePOS打印編輯器在網(wǎng)絡(luò)瀏覽器環(huán)境內(nèi)工作。優(yōu)選地,網(wǎng)絡(luò)瀏覽器支持HTML5-Canvas以便利用所有可用的打印API方法/對(duì)象。因此,優(yōu)選地,從以下(或者類似)網(wǎng)絡(luò)瀏覽器當(dāng)中選擇網(wǎng)絡(luò)瀏覽器:WindowInternetExplorer9或更后面的版本,MozillaFirefox13或更后面的版本,GoogleChrome19或更后面的版本,AppleSafari5.1.7或更后面的版本以及1S5.1或更后面版本中的iPadSafari。[0417]如果期望,ePOS打印編輯器維持(即,存儲(chǔ)和從其訪問(wèn))在服務(wù)器或者智能模塊(如上所述)或TM智能打印機(jī)中。例如,為了在IP網(wǎng)絡(luò)上訪問(wèn)本ePOS打印編輯器的主頁(yè)面(即,“index,html”或主頁(yè)),可在網(wǎng)絡(luò)瀏覽器中輸入編輯器的網(wǎng)絡(luò)地址,諸如:http://[(網(wǎng)絡(luò)服務(wù)器IP地址),或者(智能模塊IP地址),或者(TM智能打印機(jī)IP地址)]/編輯器/index,html。因此,如果能夠訪問(wèn)智能模塊或TM智能打印機(jī),則可以用于提供文本編輯(更具體地,ePOS打印編輯)以創(chuàng)建如上所述的具有嵌入打印API的網(wǎng)頁(yè)應(yīng)用。[0418]使用ePOS打印編輯器,可以通過(guò)使用圖形用戶接口(即,GUI)選擇期望的功能來(lái)描述定制ePOS-PrintAPI或定制ePOS-Print-Canvas所期望的功能,并且使得編輯器自動(dòng)生成所需腳本代碼。也可通過(guò)使用GUI以圖形形式“繪制”或描繪打印輸出應(yīng)該看起來(lái)如何的模版或布局來(lái)使用編輯器,并且再者編輯器可生成實(shí)現(xiàn)期望結(jié)果的外形和功能的所需腳本代碼。[0419]圖174提供了用于根據(jù)本發(fā)明的ePOS打印編輯器的樣本主頁(yè)面(S卩,index,html或主頁(yè))。優(yōu)選地,通過(guò)在網(wǎng)絡(luò)瀏覽器161的地址域163中輸入ePOS打印編輯器195的IP地址而經(jīng)由網(wǎng)絡(luò)瀏覽器161訪問(wèn)ePOS打印編輯器。ePOS打印編輯器的主頁(yè)面包括根據(jù)功能類型對(duì)編輯器的能力進(jìn)行分類的多個(gè)選項(xiàng)卡165a至165f。例如,選項(xiàng)卡165a選擇“編輯”功能,其使得主編輯區(qū)域或窗口167上升。選項(xiàng)卡165b提供“預(yù)覽”功能以預(yù)覽將執(zhí)行的一個(gè)工程當(dāng)前正如何工作。API選項(xiàng)卡165c可顯示可構(gòu)建用于實(shí)現(xiàn)用戶需要的模型API代碼。替選地,API選項(xiàng)卡可提供容納共同用戶需要的多個(gè)預(yù)定義打印API的選擇。此外替選地,“API”165c可使得顯示用于當(dāng)前工程的腳本代碼的窗口上升。選項(xiàng)卡165d被標(biāo)記為“XML”并且可用于查看和編輯XML打印文件。例如,如果正預(yù)覽工程,則XML選項(xiàng)卡165d可帶來(lái)當(dāng)前工程的XML打印文檔。此外替選地,可輸入現(xiàn)有的XML打印文檔用于進(jìn)一步編輯。除了示出了由本ePOS打印編輯器生成的腳本代碼之外,在替選實(shí)施例中,API選項(xiàng)卡165c或XML選項(xiàng)卡165d還可允許用戶手動(dòng)編輯代碼。打印選項(xiàng)卡165e使得用于打印當(dāng)前工作或者用于通過(guò)生成可在屏幕上查看的或者被發(fā)送到連接打印機(jī)的當(dāng)前代碼的模擬執(zhí)行的打印輸出而測(cè)試當(dāng)前工作的打印選項(xiàng)上升。設(shè)置選項(xiàng)卡165f允許輸入用于執(zhí)行的所需設(shè)置,諸如目標(biāo)打印機(jī)的型號(hào)、智能模塊或TM智能打印機(jī)的IP地址、目標(biāo)打印機(jī)的裝置ID、超時(shí)設(shè)置和/或諸如選擇是否監(jiān)測(cè)打印機(jī)狀態(tài)的可選選擇。[0420]主編輯區(qū)域167提供可被編程到根據(jù)本發(fā)明的打印API中的不同編輯功能選擇的選擇(即,可經(jīng)由功能圖標(biāo)或軟件“按鈕”來(lái)選擇)。這些功能進(jìn)一步被子分類。[0421]例如,第一子類169提供大部分打印文檔可使用的最常見(jiàn)操作。該第一子類被標(biāo)記為“共同”,并且包括諸如“對(duì)齊”、“行距”和“旋轉(zhuǎn)”的功能。對(duì)齊功能指定用于文本和/或圖形的期望對(duì)齊(諸如左對(duì)齊、中心對(duì)齊、右對(duì)齊和定制對(duì)齊)。行距功能允許以點(diǎn)或者以測(cè)量單位(諸如英寸和/或厘米)來(lái)指定期望行距。旋轉(zhuǎn)功能指定用于文本和/或圖形的期望旋轉(zhuǎn)朝向。旋轉(zhuǎn)功能可被劃分為固定選擇(諸如90°、180°或270°)或者可以是在從0°到360°的范圍內(nèi)由用戶指定的。[0422]第二子類171提供文本相關(guān)功能并且被標(biāo)記為“文本”。文本子類包括諸如“語(yǔ)言”、“字體”、“位置”、“平滑”、“大小”、“雙倍”、“風(fēng)格”和“文本”的功能。語(yǔ)言功能用于指定用于打印輸出的特定語(yǔ)言。例如,可從日本、英語(yǔ)、西班牙語(yǔ)、德語(yǔ)等當(dāng)中進(jìn)行選擇。字體功能從安裝的字體選項(xiàng)庫(kù)中指定特定字體。位置功能指定文本打印應(yīng)該從距左邊界(或者右邊界或頂邊界或底邊界)[如果在固定尺寸的紙上進(jìn)行打印]多遠(yuǎn)處開(kāi)始。如所公知的,文本可根據(jù)特定字體選擇的大小而呈現(xiàn)不正常外觀。平滑功能去除該參差不齊的不正常外觀并且為文本提供平滑邊緣。大小功能指定特定文本的大小。雙倍功能提供指定應(yīng)該以雙倍大小打印的特定文本的快速方式。風(fēng)格功能指定特定文本風(fēng)格,即,下劃線、粗體、斜體、反色等。文本功能指定用于打印指定文本的區(qū)域和/或指定要打印的文本。[0423]第三子類173提供送紙相關(guān)功能并且被標(biāo)記為“送紙”。送紙子類包括諸如“按單位”、“按行”和“LF”的功能。“按單位”功能按測(cè)量單位(諸如點(diǎn)、英寸和/或厘米)來(lái)指定送紙量?!鞍葱小惫δ苤付ò葱械臄?shù)量(即,以每個(gè)行增量)來(lái)指定送紙量?!癓F”功能提供新的行(即,以與回車(chē)功能打字類似的方式按一行遞增)。[0424]第四子類175提供圖像相關(guān)功能并且被標(biāo)記為“圖像”。圖像子類包括諸如“圖像”和“NV標(biāo)記”的功能。“圖像”功能提供用戶提供圖像的插入,并且還可為用戶提供使用包括基本形狀(諸如線、圓、矩形等)的繪制軟件工具創(chuàng)建(即,定義)新圖像的功能?!癗V標(biāo)記”功能依賴于已存儲(chǔ)在打印機(jī)中的可定址圖像,并且通過(guò)地址或本地ID來(lái)調(diào)用這些圖像中的所選圖像。即,NV標(biāo)記圖像的地址可以是標(biāo)識(shí)打印機(jī)內(nèi)的(優(yōu)選地)非易失性存儲(chǔ)器的本地(即,內(nèi)部)存儲(chǔ)空間內(nèi)的指定存儲(chǔ)圖像的ID代碼。通常,NV標(biāo)記圖像是公司標(biāo)記的圖像,但是其不僅限于標(biāo)記。[0425]第五子類177提供條形碼相關(guān)功能并且被標(biāo)記為“條形碼”。條形碼子類包括諸如“條形碼”和“符號(hào)”的功能?!皸l形碼”功能對(duì)線性條形碼(用戶指定類型)進(jìn)行編碼。即,用戶可提供要編碼的信息,并且選擇“條形碼”功能來(lái)生成對(duì)所提供的信息進(jìn)行編碼的線性條形碼。條形碼功能還可包括諸如定義線性條形碼的大小和位置的選項(xiàng)?!胺?hào)”功能對(duì)特定類型的矩陣(即,二維)條形碼(諸如QR碼)進(jìn)行編碼。再者,用戶可提供要編碼的信息(文本和/或圖形),并且選擇“符號(hào)”功能來(lái)生成對(duì)所提供的信息進(jìn)行編碼的矩陣條形碼。符號(hào)功能還可包括諸如定義的矩陣條形碼的大小和位置的選項(xiàng)。[0426]第六子類179提供頁(yè)面模式相關(guān)功能并且被標(biāo)記為“頁(yè)面模式”。頁(yè)面模式子類包括諸如“開(kāi)始”、“面積”、“方向”、“位置”和“結(jié)束”的功能?!伴_(kāi)始”功能可指定頁(yè)面模式區(qū)域的起始位置,并且“結(jié)束”功能可指定頁(yè)面模式區(qū)域的結(jié)束位置?!拔恢谩惫δ芸芍付?yè)面模式打印區(qū)域應(yīng)該所處的打印區(qū)域內(nèi)的位置。“面積”功能可指定頁(yè)面模式區(qū)域的特定面積(艮口,二維大小)。最后,“方向”功能可指定頁(yè)面模式區(qū)域的描繪內(nèi)容的朝向。例如,如果頁(yè)面模式包含水平布置的文本,則“方向”功能可用于沿著垂直方向打印該文本。[0427]第七子類181可將第一至第六子類中沒(méi)有包括的所有剩余功能分組在一起,并且被標(biāo)記為“其它”。在本示例中,“其它”子類包括諸如“切紙”、“抽屜”、蜂鳴器和“Cmd”的功能。“Cmd”功能指定要發(fā)送到打印機(jī)的命令。假設(shè)打印機(jī)是具有切紙器、抽屜和蜂鳴器的POS打印機(jī),則“切紙”命令發(fā)出用于裁切打印機(jī)在其上打印的打印介質(zhì)(即,紙)的命令,抽屜選項(xiàng)插入用于彈開(kāi)打印機(jī)的抽屜的命令(可單獨(dú)標(biāo)識(shí)要啟動(dòng)的特定抽屜閉鎖連接器),并且蜂鳴器定義用于打印機(jī)以特定蜂鳴器模態(tài)啟動(dòng)其蜂鳴器指定持續(xù)時(shí)間和重復(fù)蜂鳴操作指定次數(shù)的命令。[0428]圖175示出了從對(duì)根據(jù)本發(fā)明的ePOS打印編輯器195的“設(shè)置”選項(xiàng)卡165f的選擇而得到的設(shè)置屏幕。設(shè)置屏幕提供了用于輸入或選擇目標(biāo)打印機(jī)的型號(hào)的打印機(jī)型號(hào)域183。還提供了用于輸入智能模塊或TM智能打印機(jī)的IP地址的IP地址域185。裝置ID域187接收目標(biāo)打印機(jī)的裝置ID,該裝置ID可以是分配給目標(biāo)打印機(jī)的ID名稱。在打印超時(shí)域189中,可設(shè)置用于嘗試打印操作的超時(shí)(以毫秒)。還提供了用于選擇是否監(jiān)測(cè)打印機(jī)狀態(tài)的選擇按鈕191。圖176提供了總結(jié)由設(shè)置屏幕提供的一些選項(xiàng)的表格。[0429]圖177提供了根據(jù)本發(fā)明的ePOS打印編輯器的編輯屏幕的另一但是較小的視圖。本編輯屏幕與圖174的編輯屏幕類似,除了圖177另外示出了編輯區(qū)域193之外。主菜單區(qū)域167顯示如上所述的可用功能??伞包c(diǎn)擊圖標(biāo)”(即,從主菜單區(qū)域167選擇軟件按鈕)以將其添加到編輯區(qū)域193的底部。還可拖動(dòng)(或移動(dòng))圖標(biāo)以將其插入到編輯區(qū)域193中的任何地方。編輯區(qū)域193內(nèi)的圖標(biāo)的位置指定最終腳本代碼文件內(nèi)的相關(guān)代碼的位置(即,順序)。在放置功能圖標(biāo)(或元素)之后,根據(jù)需要對(duì)其進(jìn)行配置。例如,如果NV標(biāo)記被添加到編輯區(qū)域167,則通過(guò)輸入標(biāo)識(shí)要選擇的圖像的鍵碼來(lái)進(jìn)行配置。應(yīng)理解,可具有編輯區(qū)域193內(nèi)的同一功能圖標(biāo)的多個(gè)實(shí)例。因此,編輯區(qū)域193顯示在菜單區(qū)域中所選擇的功能(即,元素)。在任何時(shí)間,這些元素可在編輯區(qū)域193內(nèi)被向上或向下拖動(dòng)以改變其執(zhí)行順序。每個(gè)元素在其右側(cè)被給與“X”按鈕,并且任何元素可以使用其“X”按鈕來(lái)刪除。輸入選項(xiàng)197,ePOS-打印編輯器可以輸入在過(guò)去存儲(chǔ)的XML數(shù)據(jù)。清除選項(xiàng)199刪除編輯區(qū)域193內(nèi)的編輯詳情。[0430]選擇如圖174所示的預(yù)覽選項(xiàng)卡165b提供了預(yù)覽圖像。圖178示出了根據(jù)本發(fā)明的ePOS打印編輯器的樣本預(yù)覽圖像。這提供了打印文檔的預(yù)覽101。[0431]如果連接了打印機(jī),則可通過(guò)選擇打印選項(xiàng)卡165e來(lái)進(jìn)行實(shí)際打印以測(cè)試代碼。圖179提供了在選擇了打印選項(xiàng)卡的情況下的本ePOS打印編輯器的樣本視圖。打印選項(xiàng)卡165e可用于查看預(yù)覽圖像的XML打印文檔,或者可用于輸入XML打印文檔。例如,可使用打印選項(xiàng)卡165e打開(kāi)現(xiàn)有的XML打印文檔,并且可諸如通過(guò)復(fù)制來(lái)保存XML打印文檔的內(nèi)容。ePOS-PrintXML文檔顯示在要發(fā)送的數(shù)據(jù)(ePOS-PrintXML)部分中。選擇發(fā)送選項(xiàng)將數(shù)據(jù)發(fā)送到打印機(jī)并且執(zhí)行打印。信息部分顯示打印狀態(tài)。選擇清除選項(xiàng)刪除信息框中的內(nèi)容。[0432]圖180示出了根據(jù)本發(fā)明的輸入屏幕。要輸入的ePOS-PrintXML打印文檔被粘貼在“要輸入的數(shù)據(jù)(ePOS-PrintXML)”部分中并且在其中進(jìn)行檢查。選擇“應(yīng)用”選項(xiàng)輸ΛePOS-PrintXML打印文檔。信息部分顯示任何輸入/所需信息?!瓣P(guān)閉”選項(xiàng)關(guān)閉輸入屏幕。[0433]在本發(fā)明的優(yōu)選實(shí)施例中,選擇如圖174所示的API選項(xiàng)卡165c提供ePOS-Print樣本代碼。圖181提供了在選擇了API選項(xiàng)卡的情況下的本ePOS-打印編輯器的樣本視圖。用戶可通過(guò)將樣本代碼復(fù)制到其自己的代碼文件或編輯區(qū)域中來(lái)利用該樣本代碼。[0434]盡管結(jié)合多個(gè)特定實(shí)施例描述了本發(fā)明,但是對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)明顯的是,根據(jù)以上描述,多個(gè)另外的替選、修改和變化將是明顯的。因此,這里描述的發(fā)明旨在包括落入所附權(quán)利要求的精神和范圍內(nèi)的所有這樣的替選、修改、應(yīng)用和變化?!緳?quán)利要求】1.一種方法,用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔,將所述文檔發(fā)送到打印機(jī)以及通過(guò)網(wǎng)絡(luò)獲得所述打印機(jī)的狀態(tài),所述網(wǎng)絡(luò)應(yīng)用由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,所述方法包括以下步驟:提供被適配成連接到所述打印機(jī)的智能模塊,所述智能模塊被配置成設(shè)置了網(wǎng)絡(luò)地址、通過(guò)所述網(wǎng)絡(luò)接收所述文檔以及將所述文檔發(fā)送到所述打印機(jī);將應(yīng)用程序接口API嵌入在所述網(wǎng)絡(luò)應(yīng)用中,所述API包括:(i)地址屬性元素,被配置成指定所述智能模塊的網(wǎng)絡(luò)地址,(?)狀態(tài)事件元素,被配置成檢查所述打印機(jī)的一個(gè)或多個(gè)狀態(tài),以及(iii)打開(kāi)方法元素,被配置成啟用所述狀態(tài)事件元素的操作;將所述智能模塊的網(wǎng)絡(luò)地址設(shè)置到所述地址屬性元素中;使用所述打開(kāi)方法元素來(lái)啟用所述狀態(tài)事件元素的操作以及接收所述打印機(jī)的指定狀態(tài)。2.根據(jù)權(quán)利要求1所述的方法,其中,所述API還包括關(guān)閉方法元素,所述關(guān)閉方法元素被配置成禁止所述狀態(tài)事件元素的操作,所述用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔的方法還包括使用所述關(guān)閉方法元素來(lái)禁止所述狀態(tài)事件元素的步驟。3.根據(jù)權(quán)利要求1所述的方法,其中,所述API包括間隔屬性元素,所述間隔屬性元素指定用于隔開(kāi)所述打印機(jī)的狀態(tài)更新的時(shí)間間隔,所述用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔的方法還包括將所述時(shí)間間隔設(shè)置到所述間隔屬性元素中的步驟。4.根據(jù)權(quán)利要求1所述的方法,其中,所述API包括狀態(tài)屬性元素,所述狀態(tài)屬性元素指定最近從所述打印機(jī)獲得的狀態(tài)。5.根據(jù)權(quán)利要求1所述的方法,還包括設(shè)置所述打印機(jī)的裝置標(biāo)識(shí)的步驟,其中,所述地址屬性元素還被配置成指定要接收其所檢查的狀態(tài)的所述打印機(jī)的裝置標(biāo)識(shí)。6.根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)應(yīng)用維持在所述智能模塊中,并且所述網(wǎng)絡(luò)瀏覽器從所述智能模塊訪問(wèn)所述網(wǎng)絡(luò)應(yīng)用。7.根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)應(yīng)用維持在網(wǎng)絡(luò)服務(wù)器中,并且所述網(wǎng)絡(luò)瀏覽器從所述網(wǎng)絡(luò)服務(wù)器訪問(wèn)所述網(wǎng)絡(luò)應(yīng)用。8.根據(jù)權(quán)利要求1所述的方法,其中,所述一個(gè)或多個(gè)狀態(tài)包括指示所述打印機(jī)是在線還是離線的狀態(tài)。9.根據(jù)權(quán)利要求1所述的方法,其中,所述打印機(jī)具有蓋,并且一個(gè)或多個(gè)狀態(tài)包括指示所述蓋是打開(kāi)還是關(guān)閉的狀態(tài)。10.根據(jù)權(quán)利要求1所述的方法,其中:所述API還包括:第一方法元素,被配置成將用于控制所述打印機(jī)的命令添加到命令緩沖器,以及根據(jù)所述命令緩沖器中的命令而創(chuàng)建所述文檔;以及第二方法元素,被配置成通過(guò)所述網(wǎng)絡(luò)將所創(chuàng)建的文檔發(fā)送到所述智能模塊;所述用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔的方法還包括以下步驟:利用嵌入在所述網(wǎng)絡(luò)應(yīng)用中的所述第一方法元素而創(chuàng)建所述文檔;利用嵌入在所述網(wǎng)絡(luò)應(yīng)用中的所述第二方法元素而將所述文檔發(fā)送到具有所述地址屬性元素指定的網(wǎng)絡(luò)地址的智能模塊;以及使得所述智能模塊將所接收的文檔發(fā)送到所述打印機(jī)。11.根據(jù)權(quán)利要求10所述的方法,還包括:所述打印機(jī)將其所接收的文檔打印在所述打印機(jī)中的紙介質(zhì)上的步驟。12.根據(jù)權(quán)利要求11所述的方法,其中,由所述狀態(tài)事件元素檢查的所述打印機(jī)的一個(gè)或多個(gè)狀態(tài)包括指示所述紙介質(zhì)的供應(yīng)是結(jié)束還是幾乎結(jié)束的狀態(tài)。13.根據(jù)權(quán)利要求10所述的方法,其中:所述打印機(jī)具有抽屜;以及添加到所述命令緩沖器的用于控制所述打印機(jī)的所述命令之一是用于指示所述打印機(jī)彈開(kāi)其抽屜的抽屜彈開(kāi)命令。14.根據(jù)權(quán)利要求13所述的方法,其中,所述打印機(jī)的一個(gè)或多個(gè)狀態(tài)包括指示所述抽屜是打開(kāi)還是關(guān)閉的狀態(tài)。15.一種系統(tǒng),用于在網(wǎng)絡(luò)應(yīng)用中創(chuàng)建文檔,將所述文檔發(fā)送到打印機(jī)以及通過(guò)網(wǎng)絡(luò)獲得所述打印機(jī)的狀態(tài),所述網(wǎng)絡(luò)應(yīng)用由網(wǎng)絡(luò)瀏覽器來(lái)執(zhí)行,所述系統(tǒng)包括:智能模塊,被適配成連接到所述打印機(jī),所述智能模塊被配置成設(shè)置了網(wǎng)絡(luò)地址;網(wǎng)絡(luò)服務(wù)器,通過(guò)所述網(wǎng)絡(luò)連接到所述智能模塊,所述網(wǎng)絡(luò)應(yīng)用維持在所述網(wǎng)絡(luò)服務(wù)器中;應(yīng)用程序接口API,嵌入在所述網(wǎng)絡(luò)應(yīng)用中;所述API包括:(i)地址屬性元素,被配置成指定所述智能模塊的網(wǎng)絡(luò)地址,(?)狀態(tài)事件元素,被配置成檢查所述打印機(jī)的一個(gè)或多個(gè)狀態(tài),以及(iii)打開(kāi)方法元素,被配置成啟用所述狀態(tài)事件元素的操作;其中,在所述打開(kāi)方法元素啟用了所述狀態(tài)事件元素的操作之后,由所述狀態(tài)事件元素指定的所述打印機(jī)的狀態(tài)從所述地址屬性元素指定的智能模塊發(fā)送到所述網(wǎng)絡(luò)瀏覽器。16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中:所述打印機(jī)具有蓋;以及所述打印機(jī)的一個(gè)或多個(gè)狀態(tài)包括指示所述蓋是打開(kāi)還是關(guān)閉的狀態(tài)。17.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述API還包括:(i)第一方法元素,被配置成將用于控制所述打印機(jī)的命令添加到命令緩沖器,以及用于根據(jù)所述命令緩沖器中的命令而創(chuàng)建所述文檔,以及(?)第二方法元素,被配置成通過(guò)所述網(wǎng)絡(luò)將所述文檔發(fā)送到所述智能模塊;其中,所述文檔由所述第一方法元素來(lái)創(chuàng)建、并且由所述第二方法元素法發(fā)送到具有所述地址屬性元素指定的網(wǎng)絡(luò)地址的智能模塊。18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,抽屜連接到所述打印機(jī),并且其中,添加到命令緩沖器中的用于控制所述打印機(jī)的所述命令之一是用于指示所述打印機(jī)彈開(kāi)其所連接的抽屜的抽屜彈開(kāi)命令。19.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,所述打印機(jī)的一個(gè)或多個(gè)狀態(tài)包括指示所述抽屜是打開(kāi)還是關(guān)閉的狀態(tài)?!疚臋n編號(hào)】G06F3/12GK104508622SQ201380040204【公開(kāi)日】2015年4月8日申請(qǐng)日期:2013年8月8日優(yōu)先權(quán)日:2012年8月14日【發(fā)明者】中村英雄申請(qǐng)人:精工愛(ài)普生株式會(huì)社