国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      二維碼符號(hào)的打印方法,打印機(jī),驅(qū)動(dòng)器及存儲(chǔ)介質(zhì)的制作方法

      文檔序號(hào):6555905閱讀:362來(lái)源:國(guó)知局
      專利名稱:二維碼符號(hào)的打印方法,打印機(jī),驅(qū)動(dòng)器及存儲(chǔ)介質(zhì)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一個(gè)打印二維碼符號(hào)的方法,以及實(shí)現(xiàn)此方法的打印機(jī)和打印機(jī)驅(qū)動(dòng)程序。
      所謂碼符號(hào)(在下文中簡(jiǎn)稱為“符號(hào)”)的典型例子就是一維和二維條形碼。這些符號(hào)被用于以編碼方式并且通常是機(jī)器可讀的形式來(lái)表達(dá)(顯示)某種信息,以后稱為“顯示數(shù)據(jù)”。
      一維條形碼是當(dāng)今最常采用的符號(hào)。它們通常用于對(duì)產(chǎn)品號(hào)和其他信息編碼,可以很容易地在零售商品上找到。
      有兩種常用類型的二維碼將多個(gè)一維條形碼垂直堆放、按垂直排列的“堆棧碼”或“多行碼”,以及矩陣碼。矩陣碼將碼矩陣的交叉點(diǎn)置成黑或白來(lái)編碼信息,因此與傳統(tǒng)的一維條形碼有著本質(zhì)的不同。由于二維碼具有比一維條形碼更強(qiáng)大的信息編碼能力,它得到了越來(lái)越多的使用。一維條形碼,例如包含以一個(gè)水平或垂直序列表示的一行信息。另一方面,一個(gè)堆棧二維碼包含多行垂直排列的一維條形碼,矩陣碼是依據(jù)特定規(guī)則將碼矩陣的交叉點(diǎn)置成黑或白(開或關(guān))來(lái)編碼信息。
      Code 49,Code 16K,PDF417,SuperCode,以及Ultracode是堆棧二維碼的例子。VeriCode,Data Matrix(EC000-14-,ECC200,以及其他),CP Code,MaxiCode,Code 1,QRCode ModelII,Aztec Code是矩陣碼的例子。二維碼的普遍特征包括(1)能夠比一維條形碼顯示(編碼)更多數(shù)據(jù)的能力,(2)全向可讀(讀取方向不受限制),(3)編碼二進(jìn)制信息的能力,以及(4)更高的讀碼準(zhǔn)確性和安全性(數(shù)據(jù)誤差檢測(cè)和校正)。
      典型的一維條形碼用條和空白(條之間的間隔)的組合來(lái)顯示特定信息(顯示數(shù)據(jù))。條形碼可以用條碼掃描儀讀取并將信息恢復(fù)成為人可以閱讀的形式。因此,打印條碼需要先將顯示數(shù)據(jù)轉(zhuǎn)換成條碼的形式,然后由打印機(jī)打印。矩陣碼也是如此。也就是,為了用在矩陣符號(hào)中的黑和白像素的組合來(lái)顯示特定的信息,顯示數(shù)據(jù)必須首先轉(zhuǎn)換為矩陣碼的形式,即符號(hào),然后由打印機(jī)打印。
      為了將信息編碼成可以打印的符號(hào)數(shù)據(jù),顯示數(shù)據(jù)必須首先根據(jù)一個(gè)相應(yīng)的碼協(xié)議轉(zhuǎn)換為特定碼。需要注意的是,二維碼符號(hào)的轉(zhuǎn)換所涉及的并不僅僅是一個(gè)簡(jiǎn)單的碼轉(zhuǎn)換。更具體地,例如,轉(zhuǎn)換要求在顯示數(shù)據(jù)的開始處加開始碼,在結(jié)束處加停止碼,并且要產(chǎn)生誤差校驗(yàn)碼,執(zhí)行數(shù)據(jù)壓縮,以及由相應(yīng)的碼協(xié)議為所用類型的符號(hào)定義的其它步驟。因此,二維碼采用的編碼過(guò)程更復(fù)雜,不僅僅在于它可以顯示更多的信息,同時(shí)也在于在某些情況下需要的壓縮和誤差校正編碼操作。
      通常,符號(hào)數(shù)據(jù)由運(yùn)行在主機(jī)上的應(yīng)用程序產(chǎn)生,該應(yīng)用程序執(zhí)行將顯示數(shù)據(jù)轉(zhuǎn)換成符號(hào)的位像(后面也叫“符號(hào)位模式”)的過(guò)程,再將產(chǎn)生的位像作為打印數(shù)據(jù)傳送給打印機(jī)。然后,通過(guò)打印機(jī)打印這些打印數(shù)據(jù),符號(hào)被打印出來(lái)。因此,符號(hào)由執(zhí)行一個(gè)標(biāo)準(zhǔn)打印過(guò)程的打印機(jī)打印,即僅僅打印從主機(jī)接收到的位模式數(shù)據(jù)。
      正如上面所指出的,將顯示數(shù)據(jù)轉(zhuǎn)換為實(shí)際被打印的符號(hào)數(shù)據(jù)的過(guò)程需要轉(zhuǎn)換顯示數(shù)據(jù),并根據(jù)符號(hào)各自的類型而選擇采用其它一些步驟。例如,產(chǎn)生一個(gè)PDF417碼(一種類型的二維碼)時(shí),就需要數(shù)據(jù)壓縮和產(chǎn)生誤差校驗(yàn)碼(ECC)。并且,PDF417協(xié)議允許三種用戶可選擇的不同的數(shù)據(jù)壓縮模式以及9個(gè)(0-8)用戶可選的ECC級(jí)別。
      由于可以使用多種壓縮模式以及9個(gè)不同的ECC級(jí),因此被打印的符號(hào)的尺寸(高和寬)將隨著具體內(nèi)容以及符號(hào)中要編碼的數(shù)據(jù)量而變化。這意味著,直到產(chǎn)生了實(shí)際的位模式才能知道最終被打印的符號(hào)的尺寸。
      如上所述的符號(hào),通常必須適合一個(gè)定義的打印區(qū)域或打印框架。但是,直到產(chǎn)生了實(shí)際的位模式(符號(hào)數(shù)據(jù))才能知道二維符號(hào)的尺寸,這就需要在打印開始之前能夠確認(rèn)產(chǎn)生的符號(hào)是否能在定義的打印區(qū)域內(nèi)打印。
      此外,即使位模式數(shù)據(jù)相同,打印的符號(hào)的尺寸也會(huì)隨著打印機(jī)分辨率的不同而不同。
      本發(fā)明的目標(biāo)之一就是提供一種方法和用于執(zhí)行所述方法的打印機(jī)和打印機(jī)驅(qū)動(dòng)程序,以便能夠在符號(hào)打印之前確認(rèn)包含要顯示的數(shù)據(jù)的符號(hào)是否可以在定義的打印區(qū)域內(nèi)打印。
      這一目標(biāo)是通過(guò)權(quán)利要求1中所述的方法、權(quán)利要求9所述的打印機(jī)、權(quán)利要求16所述的打印機(jī)驅(qū)動(dòng)程序?qū)崿F(xiàn)的。最佳的實(shí)施例是從屬權(quán)利要求的主題。
      在本發(fā)明的一個(gè)實(shí)施例中,打印機(jī)接收要打印的顯示數(shù)據(jù)作為一個(gè)碼符號(hào)。例如,顯示數(shù)據(jù)可以以ASCII碼存儲(chǔ)在第一個(gè)存儲(chǔ)設(shè)備中。然后符號(hào)圖像生成裝置將顯示數(shù)據(jù)轉(zhuǎn)換為符號(hào)數(shù)據(jù),即最終被打印的符號(hào)的位模式或位圖像。產(chǎn)生的符號(hào)數(shù)據(jù)可以存儲(chǔ)在第二個(gè)存儲(chǔ)設(shè)備中。第二個(gè)存儲(chǔ)設(shè)備最好是打印緩沖器或者是和打印裝置相連的其它類型的存儲(chǔ)設(shè)備。根據(jù)控制主機(jī)設(shè)備的要求,從符號(hào)的位象計(jì)算符號(hào)的二維尺寸。然后將符號(hào)尺寸信息傳送到主設(shè)備,作為符號(hào)的尺寸信息。
      結(jié)果是,當(dāng)要作為符號(hào)打印的數(shù)據(jù)被接收后,打印機(jī)將這些數(shù)據(jù)轉(zhuǎn)換為特定類型的符號(hào)并打印。因此,主設(shè)備或特別是運(yùn)行在主設(shè)備上的一個(gè)應(yīng)用程序,只需要將顯示數(shù)據(jù)傳送給打印機(jī)。這樣應(yīng)用程序的開發(fā)就更容易了。另外,主設(shè)備可以在打印開始前確認(rèn)符號(hào)的尺寸,因?yàn)槿绻@樣請(qǐng)求的話,打印機(jī)會(huì)將符號(hào)尺寸傳送給主設(shè)備。
      根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)從主設(shè)備接收到一個(gè)打印指令或符號(hào)尺寸報(bào)告指令時(shí),將從顯示數(shù)據(jù)中產(chǎn)生符號(hào)的位像。例如,當(dāng)接收到符號(hào)尺寸報(bào)告指令時(shí),會(huì)在工作內(nèi)存中產(chǎn)生位像,以便確認(rèn)被打印的實(shí)際符號(hào)的尺寸。
      根據(jù)本發(fā)明的一個(gè)打印機(jī)可以打印包括PDF417、SuperCode和UltraCode符號(hào)體系的堆棧二維碼,以及包括VeriCode、Data matrix和MaxiCode符號(hào)體系的矩陣碼。
      執(zhí)行依據(jù)本發(fā)明的方法的打印機(jī)例如可以由一個(gè)能夠以點(diǎn)為單位打印的打印裝置、一個(gè)CPU和內(nèi)存、以及控制這些部件的控制程序?qū)崿F(xiàn)。使用一個(gè)硬連線的邏輯設(shè)備也可以實(shí)現(xiàn)這些功能。
      這樣的控制程序可以被記錄在計(jì)算機(jī)可讀的數(shù)據(jù)存儲(chǔ)介質(zhì)上。因此,通過(guò)將實(shí)現(xiàn)依據(jù)本發(fā)明的方法的程序加載到包括打印裝置、一個(gè)程序控制的CPU和內(nèi)存的打印機(jī)就可以打印不同類型的符號(hào)。
      不僅僅用打印機(jī),本發(fā)明的必要功能也可以由邏輯上位于運(yùn)行在主設(shè)備的應(yīng)用程序以及和主設(shè)備相連的普通打印機(jī)之間的打印機(jī)驅(qū)動(dòng)程序?qū)崿F(xiàn)。打印機(jī)驅(qū)動(dòng)程序根據(jù)來(lái)自應(yīng)用程序的要求控制打印機(jī),以便實(shí)現(xiàn)本發(fā)明的方法。
      實(shí)現(xiàn)不同打印機(jī)驅(qū)動(dòng)程序方法的計(jì)算機(jī)程序也可以記錄在計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)上。
      本發(fā)明的這些和其他的目標(biāo)和特征,可以通過(guò)對(duì)下面結(jié)合附圖進(jìn)行的最佳實(shí)施例的詳細(xì)描述來(lái)理解,其中同樣的部件用相同的數(shù)字標(biāo)注,其中

      圖1是依據(jù)本發(fā)明的第一個(gè)實(shí)施例的打印機(jī)的功能框圖;圖2是依據(jù)本發(fā)明的第二個(gè)實(shí)施例的打印機(jī)的功能框圖;圖3是可以從主機(jī)發(fā)送到打印機(jī)的例示符號(hào)打印控制指令的及其效果的列表;圖4顯示了將顯示數(shù)據(jù)轉(zhuǎn)換為用于符號(hào)打印的符號(hào)數(shù)據(jù)的過(guò)程;圖5是依據(jù)本發(fā)明的打印機(jī)的符號(hào)打印過(guò)程的流程圖;圖6顯示了一個(gè)打印樣例,其中,符號(hào)的尺寸超過(guò)了第20頁(yè)左上角區(qū)域所定義的打印區(qū)域21;圖7顯示了在一個(gè)標(biāo)簽上打印條形碼類型的符號(hào);圖8是用CPU和ROM或RAM實(shí)現(xiàn)圖1和圖2所示的控制設(shè)備和存儲(chǔ)設(shè)備的一個(gè)典型結(jié)構(gòu)的功能框圖;圖9顯示了在POS系統(tǒng)中的OPOS位置;圖10是在依據(jù)本發(fā)明的打印機(jī)驅(qū)動(dòng)程序中的符號(hào)打印過(guò)程的流程圖;圖11(a)顯示了一個(gè)PDF417符號(hào)的格式,(b)顯示了在PDF417符號(hào)的數(shù)據(jù)區(qū)域編碼的顯示數(shù)據(jù)的十進(jìn)制表示;以及圖12顯示了一個(gè)PDF417碼字的格式。
      本發(fā)明可以用于打印任何類型的符號(hào),在這里僅以例示方式參考PDF417符號(hào)、一種使用正在不斷增長(zhǎng)的堆棧二維碼進(jìn)行描述。
      如上面指出的,PDF417是一種堆棧二維碼。在圖11(a)中顯示了一個(gè)典型的PDF417符號(hào)。圖11所示的PDF417由三個(gè)條形碼組成。一個(gè)PDF417符號(hào)由一個(gè)垂直排布的條碼行的堆棧構(gòu)成。每個(gè)PDF417符號(hào)至少有3行,最多可有90行,每個(gè)符號(hào)最多可以包含1850個(gè)文本字符、2710個(gè)數(shù)字或1108字節(jié)的二進(jìn)制數(shù)據(jù)。
      下面描述PDF417符號(hào)的基本參數(shù),以幫助理解后面對(duì)本發(fā)明的操作的描述。
      在一個(gè)PDF417符號(hào)的四個(gè)邊、即上邊、下邊、左邊和右邊的每一邊上有一個(gè)靜止區(qū)。如圖11(a)所示,每行包括一個(gè)前導(dǎo)靜止區(qū)、一個(gè)起始模式、一個(gè)左邊指示列、包含編碼信息和其它數(shù)據(jù)的符號(hào)字符(或者“碼字”)、一個(gè)右邊指示列、一個(gè)停止模式和一個(gè)結(jié)尾靜止區(qū)。圖11(b)顯示了碼字、即在圖11(a)中顯示的符號(hào)字符的數(shù)值。在這個(gè)例子中,行1中的碼字包含值005810032,行2中包含值094179880,行3中包含值563781904。
      為了生成要打印的PDF417符號(hào)數(shù)據(jù),根據(jù)PDF417協(xié)議處理符號(hào)中要被編碼的顯示數(shù)據(jù)以產(chǎn)生碼字。這些處理包括壓縮、誤差校正編碼、添加格式化碼字(諸如開始和停止模式)。
      碼字序列在圖12中顯示。每個(gè)碼字包含4個(gè)黑色條和4個(gè)間隙(“元素”)以及總共17個(gè)模塊?!澳K”定義了在PDF417條碼符號(hào)中的條形或間隙的最窄寬度。在PDF417符號(hào)中,所有的條和間隙的寬度是這個(gè)寬度的倍數(shù),最多是6倍。模塊的寬度可由用戶定義。因此可以通過(guò)控制模塊的寬度調(diào)整符號(hào)的全部尺寸。
      PDF417協(xié)議允許每行有1到30個(gè)碼字,3到90行,這樣可以調(diào)整PDF417符號(hào)的寬高比以適應(yīng)相應(yīng)打印區(qū)域的形狀。這就是說(shuō),在不改變PDF417符號(hào)內(nèi)容的情況下,可以改變符號(hào)的寬高比,即可以改變寬對(duì)高的比例,以便符號(hào)可以在一個(gè)特定的打印區(qū)域內(nèi)被打印。
      PDF417協(xié)議也允許數(shù)據(jù)壓縮和添加誤差校正碼。有三種數(shù)據(jù)壓縮方式文字壓縮、字節(jié)壓縮和數(shù)值壓縮。9個(gè)誤差校正級(jí)0級(jí)到8級(jí),允許不同的安全級(jí)別。
      因此將所需要的顯示數(shù)據(jù)轉(zhuǎn)換到實(shí)際被打印的符號(hào)數(shù)據(jù)需要一個(gè)復(fù)雜的過(guò)程。
      圖1是依據(jù)本發(fā)明的第一個(gè)實(shí)施例的打印機(jī)的功能框圖。這個(gè)打印機(jī)1通過(guò)接口2連接到主機(jī)90。主機(jī)90發(fā)送的數(shù)據(jù)通過(guò)接口2由接收器3接收,并存儲(chǔ)在一個(gè)接收緩沖器4中。然后數(shù)據(jù)解釋器5根據(jù)接收順序?qū)Υ鎯?chǔ)在接收緩沖器4中的數(shù)據(jù)做出解釋。
      如果接收到的數(shù)據(jù)是將要作為符號(hào)打印的顯示數(shù)據(jù),顯示數(shù)據(jù)將被存儲(chǔ)在顯示數(shù)據(jù)存儲(chǔ)器6中。然后存儲(chǔ)在顯示數(shù)據(jù)存儲(chǔ)器6中的數(shù)據(jù)被符號(hào)圖像生成器9轉(zhuǎn)換成符號(hào)的位模式。符號(hào)圖像生成器9由一個(gè)碼轉(zhuǎn)換處理器7和一個(gè)模式生成器8組成。
      顯示數(shù)據(jù)首先由碼轉(zhuǎn)換處理器7根據(jù)要被打印的符號(hào)的協(xié)議轉(zhuǎn)換成碼模式。轉(zhuǎn)換成碼模式并不是簡(jiǎn)單的將顯示數(shù)據(jù)1∶1的轉(zhuǎn)換為碼字。更具體地說(shuō),例如,碼模式轉(zhuǎn)換包括數(shù)據(jù)壓縮和誤差校正編碼以及以特定的開始和停止模式和左右邊指示器格式化。
      然后,被轉(zhuǎn)換成特定格式的碼字的符號(hào)數(shù)據(jù)由模式生成器8轉(zhuǎn)換成為要打印的符號(hào)的位模式。然后符號(hào)位模式被存儲(chǔ)在打印緩沖器10中。存儲(chǔ)在打印緩沖器10中的符號(hào)由打印裝置11打印。
      如上所述的符號(hào)打印由來(lái)自主機(jī)的指令控制。注意,顯示數(shù)據(jù)和符號(hào)的打印在上述操作中被聯(lián)系在一起,使得符號(hào)通過(guò)發(fā)送顯示數(shù)據(jù)來(lái)打印??梢蕴峁└鞣N不同的指令,包括發(fā)送顯示數(shù)據(jù)的指令、請(qǐng)求通知主機(jī)從發(fā)送的顯示數(shù)據(jù)產(chǎn)生的符號(hào)的尺寸的指令以及打印前面發(fā)送的顯示數(shù)據(jù)的指令。
      在下面我們假設(shè)主機(jī)設(shè)備命令打印機(jī)報(bào)告符號(hào)尺寸。由主機(jī)90發(fā)出的指令由數(shù)據(jù)解釋器5做出解釋。當(dāng)數(shù)據(jù)解釋器5檢測(cè)到了一條符號(hào)尺寸報(bào)告命令時(shí),數(shù)據(jù)解釋器5使得存儲(chǔ)在顯示數(shù)據(jù)存儲(chǔ)器6的數(shù)據(jù)輸出到符號(hào)圖像生成器9,同時(shí)將尺寸信息發(fā)射器12設(shè)置為活動(dòng)狀態(tài)。因此,尺寸信息發(fā)射器12從由符號(hào)圖像生成器9產(chǎn)生的符號(hào)圖像數(shù)據(jù)獲得符號(hào)尺寸信息,并通過(guò)發(fā)射器13和接口2將尺寸數(shù)據(jù)發(fā)送給主機(jī)90。
      圖2是依據(jù)本發(fā)明的第二個(gè)實(shí)施例的打印機(jī)的功能框圖。依據(jù)本實(shí)例的打印機(jī)不同于前面描述的打印機(jī)實(shí)例,它添加了窗尺寸存儲(chǔ)器15和控制器14。依據(jù)該實(shí)施例的打印機(jī)可以執(zhí)行由第一個(gè)實(shí)施例的打印機(jī)運(yùn)行的相同過(guò)程,但提供附加功能。
      控制器14控制打印機(jī)的全部操作,是用于通過(guò)整合地連接不同打印機(jī)部件的操作以運(yùn)行程序來(lái)響應(yīng)不同的命令的裝置。
      窗尺寸存儲(chǔ)器15是存儲(chǔ)打印框架的裝置,打印框架就是打印符號(hào)的區(qū)域。打印框架由主機(jī)90設(shè)置,并發(fā)送到打印機(jī)1,由窗尺寸存儲(chǔ)器15保存打印框架的尺寸。如果主機(jī)沒(méi)有設(shè)置打印框架,將根據(jù)預(yù)先設(shè)置的缺省打印框架設(shè)置自動(dòng)設(shè)置為一具體尺寸。
      符號(hào)必須在定義的打印框架內(nèi)打印。然而,如前如述,由于圖像壓縮和數(shù)據(jù)中加入的誤差校驗(yàn)碼,直到要打印的符號(hào)的實(shí)際位模式產(chǎn)生時(shí)才能知道二維碼符號(hào)的實(shí)際打印尺寸。因此存在著在符號(hào)打印開始之前要確認(rèn)符號(hào)是否能夠打印在定義的打印框架內(nèi)的情況。使用確認(rèn)命令可以確認(rèn)是否可以在打印框架內(nèi)打印。當(dāng)一條確認(rèn)指令被收到、由數(shù)據(jù)解釋器5解釋并被識(shí)別為確認(rèn)指令時(shí),通知尺寸信息發(fā)射器12。
      尺寸信息發(fā)射器12從窗口尺寸存儲(chǔ)器15中獲得打印框架信息,將其與來(lái)自模式生成器8的符號(hào)數(shù)據(jù)比較,以決定符號(hào)是否可以在打印框架內(nèi)打印,并將比較結(jié)果發(fā)送給主機(jī)90。因此主機(jī)90可以知道符號(hào)是否可以在打印框架內(nèi)打印。如果不能在打印框架內(nèi)打印,主機(jī)90可以改變符號(hào)的長(zhǎng)度和高度或者改變模塊寬度,使得符號(hào)能夠在打印框架內(nèi)打印。
      從主機(jī)中傳送的樣本符號(hào)打印控制命令在圖3中給出。將會(huì)理解,圖3中顯示的命令的功能、命令代碼和參數(shù)規(guī)定是僅以例子的形式顯示的,除了顯示的這些還可以使用其它的功能、代碼和參數(shù)。多個(gè)功能可以被整合成為單獨(dú)一條指令。這些指令由數(shù)據(jù)解釋器5解釋,在控制器14的控制下,由各部分合作執(zhí)行對(duì)應(yīng)于一特定指令的過(guò)程。圖3中的指令將在下面詳細(xì)描述。
      (a)命令XXX1以參數(shù)a1a2定義了一個(gè)PDF417符號(hào)的寬度上列的數(shù)目。一個(gè)PDF417符號(hào)最多可以有30個(gè)數(shù)據(jù)列。在一個(gè)PDF417符號(hào)中的數(shù)據(jù)區(qū)域73的水平長(zhǎng)度是列數(shù)乘以一個(gè)碼字的寬度。碼字寬度可以從當(dāng)前的模塊寬度計(jì)算出來(lái)。
      (b)命令XXX2中以參數(shù)b1b2定義了符號(hào)中行的數(shù)目。一個(gè)PDF417符號(hào)至少有3行,最多有90行。數(shù)據(jù)區(qū)域73的垂直高度是一行高度乘以行數(shù)。
      數(shù)據(jù)區(qū)域73中碼字的總數(shù)等于數(shù)據(jù)的列數(shù)乘以行數(shù)。
      (c)命令XXX3以參數(shù)c1c2定義了模塊寬度。用來(lái)規(guī)定模塊寬度的單位通常是打印機(jī)的分辨率(點(diǎn))。
      (d)命令XXX4以參數(shù)d1d2定義了每個(gè)碼字的高度。碼字高度通常是基于模塊高度,規(guī)定為參數(shù)d1d2乘以模塊寬度。
      (e)命令XXX5以參數(shù)e規(guī)定了誤差校正級(jí)0-8。有9個(gè)誤差校正碼字?jǐn)?shù)目(等于2^(e+1))不同的誤差校正級(jí)別。例如,在0級(jí)誤差校正級(jí)別,有2個(gè)(2^1=2)誤差校正碼字。在8級(jí)誤差校正級(jí)別,有512個(gè)(2^9=512)誤差校正碼字。
      (f)命令XXX6以參數(shù)f設(shè)置了PDF417符號(hào)體系的選項(xiàng)。選項(xiàng)例如包括規(guī)定一個(gè)簡(jiǎn)化DF417符號(hào)。簡(jiǎn)化PDF417符號(hào)和圖11(a)中的PDF417符號(hào)不同,它省略了右邊指示器74和停止模式75,這使得碼字的數(shù)目減少了。簡(jiǎn)化PDF417符號(hào)的缺點(diǎn)在于它只能在一個(gè)方向讀取數(shù)據(jù),因此犧牲了在讀取方向上的自由度。
      (g)命令XXX7將參數(shù)g1到gn中指定的顯示數(shù)據(jù)存儲(chǔ)在顯示數(shù)據(jù)存儲(chǔ)器6中。
      (h)命令XXX8將顯示數(shù)據(jù)存儲(chǔ)器6中存儲(chǔ)的顯示數(shù)據(jù)以符號(hào)數(shù)據(jù)打印(即打印經(jīng)過(guò)編碼的存儲(chǔ)顯示數(shù)據(jù))。應(yīng)注意的是,當(dāng)字符的尺寸大于打印框架的尺寸時(shí)不執(zhí)行打印操作。
      (i)命令XXX9將與存儲(chǔ)在顯示存儲(chǔ)器6中的顯示數(shù)據(jù)對(duì)應(yīng)的符號(hào)的尺寸傳送給主機(jī)90,即發(fā)送對(duì)存儲(chǔ)的顯示數(shù)據(jù)編碼而生成的符號(hào)的尺寸。尺寸信息包括符號(hào)的水平尺寸和垂直尺寸(稱為在PDF417中的X維和Y維),和/或符號(hào)能否在打印框架中打印。水平尺寸和垂直尺寸用點(diǎn)單位(打印機(jī)裝置11的最小間距)、公制單位或其它測(cè)量單位表示。應(yīng)該理解,文中的“水平”和“垂直”僅是描述性的,并不對(duì)實(shí)際的方向強(qiáng)加任何限制,只是表示二維方向是相互垂直的。
      打印機(jī)1也可以設(shè)置為自動(dòng)處理符號(hào)的行計(jì)數(shù)和列計(jì)數(shù),以使符號(hào)可以適應(yīng)打印框架。例如,通過(guò)將上面的命令XXX1和XXX2的參數(shù)a1a2和b1b2設(shè)定為0,可以將打印機(jī)命令為自動(dòng)處理符號(hào)。
      圖11中顯示了打印一個(gè)PDF417符號(hào)70的過(guò)程,以下將參考圖4、圖5進(jìn)行描述。圖4顯示了為了打印符號(hào)而將顯示數(shù)據(jù)轉(zhuǎn)換為符號(hào)圖像,圖5顯示了打印過(guò)程的流程圖。
      打印過(guò)程開始于,打印機(jī)的數(shù)據(jù)解釋器5按照FIFO(先進(jìn)先出)的順序讀取并解釋存儲(chǔ)在接收緩沖器4中的數(shù)據(jù)(步驟S501)。
      如果接收到的數(shù)據(jù)是一個(gè)結(jié)構(gòu)定義命令(上面的命令XXX1到XXX6),定義了符號(hào)70的基本結(jié)構(gòu)(即數(shù)據(jù)列的數(shù)目,行數(shù),模塊寬度、行高、誤差校正級(jí)別和選項(xiàng))(步驟S502檢測(cè)結(jié)構(gòu)定義命令),將根據(jù)接收到的指令的參數(shù)設(shè)置符號(hào)的結(jié)構(gòu)(步驟S503)。結(jié)構(gòu)定義指令的設(shè)置被保存在打印機(jī)1的特定存儲(chǔ)區(qū)域,未在圖中顯示,例如,控制器14或碼轉(zhuǎn)換處理器7。除非發(fā)生了改變,打印機(jī)可以保證一旦保存了這些設(shè)置,將會(huì)保留并供后續(xù)符號(hào)打印操作使用。另外,如果主機(jī)90沒(méi)有規(guī)定符號(hào)的結(jié)構(gòu)設(shè)置,可以用規(guī)定的預(yù)設(shè)缺省值定義符號(hào)結(jié)構(gòu)。在這個(gè)示范實(shí)施例中假設(shè)要被打印的符號(hào)的數(shù)據(jù)列數(shù)是3,行數(shù)為3,模塊寬度被設(shè)置為規(guī)定值。
      一旦設(shè)置了基本的符號(hào)結(jié)構(gòu),主機(jī)90發(fā)送出符號(hào)70的顯示數(shù)據(jù)。進(jìn)一步在實(shí)施例中假設(shè),主機(jī)90將顯示數(shù)據(jù)ABCDEF(ASCII碼)隨指令XXX7發(fā)送給打印機(jī)1。當(dāng)打印機(jī)1接收到顯示數(shù)據(jù)并且數(shù)據(jù)解釋器5判決接收到了命令XXX7(步驟S502,發(fā)送顯示數(shù)據(jù)命令),在命令之后的數(shù)據(jù)將作為顯示數(shù)據(jù)存儲(chǔ)在顯示數(shù)據(jù)存儲(chǔ)器6中(步驟S504)。顯示數(shù)據(jù)可以由主機(jī)以ASCII碼的形式發(fā)送或者由打印機(jī)轉(zhuǎn)換為ASCII碼。
      圖4顯示了將顯示數(shù)據(jù)存儲(chǔ)器6中的ASCII碼顯示數(shù)據(jù)轉(zhuǎn)換為碼字80,以及將得到的碼字轉(zhuǎn)換為一個(gè)代表要打印的符號(hào)70的位像(符號(hào)數(shù)據(jù))的位模式的過(guò)程。
      當(dāng)主機(jī)90發(fā)送指令XXX9讓打印機(jī)報(bào)告符號(hào)尺寸信息時(shí)(步驟S502檢測(cè)到一個(gè)報(bào)告尺寸信息指令),打印機(jī)1將檢測(cè)是否有打印數(shù)據(jù)存儲(chǔ)在顯示數(shù)據(jù)存儲(chǔ)器6中。如果是(步驟S505返回Yes),碼轉(zhuǎn)換處理器7通過(guò)壓縮顯示數(shù)據(jù)和生成誤差校正碼,將顯示數(shù)據(jù)轉(zhuǎn)換為碼字,然后加上起始和停止模式和左右邊界指示字符,就產(chǎn)生了一個(gè)完整的碼字塊80。然后模式生成器8將這個(gè)碼字塊80轉(zhuǎn)換為PDF417符號(hào)70的符號(hào)數(shù)據(jù)去打印(步驟S506)。
      注意,在圖4中僅僅顯示了在文字壓縮模式中通過(guò)將ABCDEF的ASCII碼轉(zhuǎn)換得到的碼字塊80的碼字值001、063、125,沒(méi)有顯示起始模式、停止模式和邊界指示字符。在本例中,遵循PDF417協(xié)議來(lái)將ASCII碼轉(zhuǎn)換成PDF417碼的碼字。然而,在這里轉(zhuǎn)換協(xié)議并不重要,因此僅僅顯示了轉(zhuǎn)換的碼字值。
      在本例中盡管只有三個(gè)碼字001、063和125,要注意最終的符號(hào)有三個(gè)數(shù)據(jù)列,并且有三行高。這是因?yàn)樵赑DF417碼字中必須至少有三行高,同時(shí)在本例中的符號(hào)結(jié)構(gòu)設(shè)置成三個(gè)數(shù)據(jù)列。因此除了顯示數(shù)據(jù)碼字之外還插入了垂直和水平誤差校正碼字和填充碼字。
      然后尺寸信息發(fā)射器12將符號(hào)70的水平尺寸X和垂直尺寸Y與保存在窗尺寸存儲(chǔ)器15的特定打印框架尺寸比較。然后將比較的結(jié)果、水平尺寸X和垂直尺寸Y發(fā)送給主機(jī)90(步驟S507)。
      如果主機(jī)90發(fā)送了命令XXX8要求符號(hào)打印(步驟S502檢測(cè)到了打印符號(hào)指令),打印機(jī)1將檢查是否有顯示數(shù)據(jù)存儲(chǔ)在顯示數(shù)據(jù)存儲(chǔ)器6。如果是(步驟S508返回Yes),則顯示數(shù)據(jù)被轉(zhuǎn)換為符號(hào)數(shù)據(jù)(步驟S509)。然后將符號(hào)70的尺寸和規(guī)定的打印框架相比樣。如果符號(hào)70可以在打印框架內(nèi)打印(步驟S510返回Yes),將會(huì)打印符號(hào)(步驟S511)。
      如果接收的命令是一些其它命令(步驟S502檢測(cè)到不是上面所述命令的命令),將根據(jù)命令執(zhí)行相應(yīng)步驟(步驟S512)。
      如果在步驟S505或步驟S508中沒(méi)有顯示數(shù)據(jù)保存在顯示數(shù)據(jù)存儲(chǔ)器6中,并且如果在步驟S510中符號(hào)的尺寸超出了打印框架,將會(huì)給主機(jī)90發(fā)送相應(yīng)的錯(cuò)誤消息。
      圖6、圖7顯示了打印框架和符號(hào)尺寸之間的關(guān)系。圖6顯示了在第20頁(yè)的左上部設(shè)置一個(gè)打印框架21的情況。如果要打印的符號(hào)在水平方向上太長(zhǎng),如打印圖像輪廓22所示,則打印圖像22的右邊結(jié)束處將會(huì)和打印框架21的右邊的文本重疊。這使得閱讀打印框架21右邊的符號(hào)和文字變得很困難。如打印圖像輪廓23所示,符號(hào)相對(duì)于打印框架21太高。在這種情況下,符號(hào)23的底部將會(huì)和在打印框架21下面打印的文字重疊,也會(huì)發(fā)生同樣問(wèn)題,即難以閱讀符號(hào)和符號(hào)打印框架下面的文字。
      如果符號(hào)的高度或?qū)挾瘸^(guò)了打印框架21,并且另一邊留有空間(例如,如果符號(hào)太高但比打印框架窄),那么可改變符號(hào)的寬高比,使符號(hào)適應(yīng)打印框架。例如,在一個(gè)太寬的符號(hào)22的情況下,可以減少水平列的數(shù)目,增加行數(shù),使符號(hào)更窄更長(zhǎng)。同樣,為了打印太高的符號(hào)23,可以減少行數(shù),增加列數(shù),使符號(hào)適應(yīng)打印框架。
      也有一些情況,即使通過(guò)調(diào)整行列數(shù)目改變了符號(hào)的形狀,也不能在打印框架內(nèi)打印符號(hào)。在這樣的情況下,可以選擇減少模塊即符號(hào)字符的最小單位以減少符號(hào)的整個(gè)尺寸。
      因此通過(guò)在符號(hào)打印前決定符號(hào)是否可以在打印框架內(nèi)打印,可以改變符號(hào)形狀使符號(hào)適應(yīng)打印框架。然而,為了實(shí)現(xiàn)這一點(diǎn),必須要在開始打印前知道打印符號(hào)的尺寸。如前所述,在此實(shí)例中,通過(guò)命令XXX9,可以從打印機(jī)1獲得這個(gè)尺寸信息。運(yùn)行在主機(jī)上的軟件應(yīng)用程序(未在圖中顯示)使用從打印機(jī)1獲得的尺寸信息,來(lái)檢查符號(hào)尺寸,并通過(guò)必要的手段,例如改變符號(hào)比例或修改顯示數(shù)據(jù)等,來(lái)修改符號(hào)使符號(hào)適應(yīng)打印框架。
      用上面的指令XXX1至XXX6去改變打印機(jī)1的符號(hào)結(jié)構(gòu)設(shè)置,來(lái)實(shí)現(xiàn)改變符號(hào)尺寸?;蛘?,應(yīng)用程序可以改變打印框架的定義而不是改變符號(hào)的尺寸。
      圖7顯示了一個(gè)在標(biāo)簽26上打印符號(hào)、例如條形碼。標(biāo)簽紙25通常包含多個(gè)標(biāo)簽26。標(biāo)簽26的背面有粘膠,當(dāng)符號(hào)打印以后,可以從標(biāo)簽紙25撕下標(biāo)簽26,用到商品或其它物品上。因此,在每一個(gè)標(biāo)簽26上準(zhǔn)確地打印符號(hào)十分重要。
      圖8是用一個(gè)程序控制中央處理單元(CPU)60和存儲(chǔ)器、例如RAM61和ROM62來(lái)實(shí)現(xiàn)圖1或圖2所示的各種控制部分和存儲(chǔ)設(shè)備的一個(gè)典型組成的功能框圖。
      打印頭31、馬達(dá)32、鐵心33以及驅(qū)動(dòng)這些部件的打印裝置驅(qū)動(dòng)電路34構(gòu)成了打印裝置11,它執(zhí)行與符號(hào)打印相關(guān)的各種物理操作,包括傳送打印紙,打印,切紙。各種檢測(cè)器35也連接到CPU30上,包括切紙錯(cuò)誤傳感器,夾紙傳感器和其它的錯(cuò)誤狀態(tài)傳感器,開蓋傳感器,紙張位置傳感器,如果打印機(jī)是噴墨打印機(jī),還有一個(gè)剩余墨水傳感器。來(lái)自這些傳感器的檢測(cè)結(jié)果輸入給CPU。
      數(shù)據(jù)和一個(gè)能夠存儲(chǔ)上述顯示數(shù)據(jù)、將數(shù)據(jù)轉(zhuǎn)換成符號(hào)數(shù)據(jù)、發(fā)送符號(hào)尺寸信息并完成其他功能和過(guò)程的軟件(包括固件)存儲(chǔ)在ROM36和/或RAM37中,并由CPU30讀出,去完成這些不同的功能。完成這些過(guò)程的軟件可以存儲(chǔ)在計(jì)算機(jī)的可讀數(shù)據(jù)存儲(chǔ)介質(zhì)上。因此,計(jì)算機(jī)從數(shù)據(jù)存儲(chǔ)介質(zhì)中讀出軟件去控制打印機(jī),并由此實(shí)現(xiàn)了依據(jù)本發(fā)明的打印機(jī)和打印方法。
      如上所述,通過(guò)使用CPU、內(nèi)存和打印裝置來(lái)實(shí)現(xiàn)本發(fā)明,可以很容易地實(shí)現(xiàn)符號(hào)轉(zhuǎn)換過(guò)程,并且從多個(gè)打印符號(hào)中選擇出需要的符號(hào)。
      本發(fā)明也可以應(yīng)用到控制打印機(jī)的打印驅(qū)動(dòng)程序。下面以O(shè)POS(零售POS的OLE)為例描述打印機(jī)驅(qū)動(dòng)程序。
      OPOS是一個(gè)定義了POS系統(tǒng)設(shè)備(例如打印機(jī)和顯示器)的標(biāo)準(zhǔn)接口的國(guó)際標(biāo)準(zhǔn)。OPOS標(biāo)準(zhǔn)對(duì)象(驅(qū)動(dòng)器)給應(yīng)用程序開發(fā)者提供了API(應(yīng)用程序設(shè)計(jì)接口)函數(shù),這些API函數(shù)使用了由POS系統(tǒng)主機(jī)設(shè)備上的Windows(R)操作系統(tǒng)支持的OLE(對(duì)象鏈接和嵌入)控制,簡(jiǎn)化了應(yīng)用程序開發(fā)過(guò)程。一個(gè)OPOS標(biāo)準(zhǔn)對(duì)象在下面簡(jiǎn)稱為一個(gè)OPOS對(duì)象。
      圖9說(shuō)明了在一個(gè)POS系統(tǒng)中OPOS對(duì)象的角色(定位)。如圖9所示,OPOS對(duì)象是位于操作系統(tǒng)和控制POS系統(tǒng)設(shè)備的應(yīng)用程序之間的軟件結(jié)構(gòu)。OPOS對(duì)象根據(jù)定義的規(guī)則標(biāo)準(zhǔn)化了主設(shè)備(PC)和POS系統(tǒng)設(shè)備之間的接口。
      OPOS對(duì)象有二層控制對(duì)象(CO)層和服務(wù)對(duì)象(SO)層??刂茖?duì)象是為每一個(gè)設(shè)備類提供的對(duì)象,比如顯示和與應(yīng)用程序的控制接口。服務(wù)對(duì)象是在設(shè)備級(jí)上提供的對(duì)象,例如,對(duì)于特定的打印模式,并允許通過(guò)操作系統(tǒng)去控制特定設(shè)備。因此服務(wù)對(duì)象包含設(shè)備的特有信息。例如對(duì)于打印機(jī),服務(wù)對(duì)象包括諸如打印機(jī)分辨率、加載的字體、打印列數(shù)等信息。如果需要,服務(wù)對(duì)象也可以從設(shè)備讀取這些特定的信息。
      通過(guò)服務(wù)對(duì)象的方法和屬性,應(yīng)用程序可以按需控制特定設(shè)備。通過(guò)事件和屬性可得到設(shè)備控制的結(jié)果。
      一個(gè)OPOS對(duì)象將從應(yīng)用程序到設(shè)備的過(guò)程請(qǐng)求轉(zhuǎn)換為由設(shè)備支持的命令,并且以狀態(tài)報(bào)告的方式,接收來(lái)自設(shè)備的處理結(jié)果。
      下面參考圖10描述打印一個(gè)PDF417符號(hào)的過(guò)程。以下假設(shè)應(yīng)用程序向打印機(jī)發(fā)送了一個(gè)打印符號(hào)命令和顯示數(shù)據(jù)。已經(jīng)設(shè)置了結(jié)構(gòu)定義信息。
      在接收到了來(lái)自應(yīng)用程序的打印符號(hào)命令和顯示數(shù)據(jù)后(步驟S1001),OPOS對(duì)象按上文解釋將顯示數(shù)據(jù)轉(zhuǎn)換為位像數(shù)據(jù)(步驟S1002)。OPOS對(duì)象可以寫入以便轉(zhuǎn)換過(guò)程所需的結(jié)構(gòu)定義信息可以存儲(chǔ)在服務(wù)對(duì)象或者存儲(chǔ)在打印機(jī)中,并在需要時(shí)由此讀出。
      然后,將由位像表示的符號(hào)的尺寸與定義的打印框架比較以確定符號(hào)是否可以在打印框架內(nèi)打印(步驟S1003)。對(duì)于基本結(jié)構(gòu)定義信息,打印框架信息可以保存在服務(wù)對(duì)象或打印機(jī)中,并在需要時(shí)由此讀出。
      如果可以在打印框架內(nèi)打印(步驟S1004返回Yes),符號(hào)的位象數(shù)據(jù)將被送入打印機(jī)打印(步驟S1005)。如果符號(hào)大于定義的打印框架(步驟S1004返回No),就通知應(yīng)用程序(步驟S1006),該過(guò)程結(jié)束。
      當(dāng)顯示數(shù)據(jù)同報(bào)告尺寸信息命令一同從應(yīng)用程序發(fā)送時(shí),也可使用相同的過(guò)程。
      通過(guò)在主機(jī)安裝設(shè)備驅(qū)動(dòng)器來(lái)處理將要顯示的信息轉(zhuǎn)換為要打印的符號(hào)的位像的過(guò)程,應(yīng)用程序的開發(fā)就更加簡(jiǎn)單。
      也可以有效地利用主設(shè)備強(qiáng)大的處理能力以縮短處理時(shí)間。還可以在打印機(jī)上縮短打印命令的處理。
      如上所述,因?yàn)榇蛴C(jī)或打印機(jī)驅(qū)動(dòng)程序可以響應(yīng)運(yùn)行在主設(shè)備上的應(yīng)用程序的請(qǐng)求,返回符號(hào)尺寸信息,所以本發(fā)明可以使應(yīng)用程序不執(zhí)行符號(hào)轉(zhuǎn)換過(guò)程就確認(rèn)符號(hào)的尺寸。
      權(quán)利要求
      1.一種打印二維碼符號(hào)的方法,所述二維碼符號(hào)用編碼的方式表示顯示數(shù)據(jù),所述方法由能夠互相通信的一臺(tái)主機(jī)設(shè)備(90)和一臺(tái)打印機(jī)(1)來(lái)實(shí)現(xiàn),包括如下步驟在主機(jī)設(shè)備(90)方面(a)向打印機(jī)(1)發(fā)送要作為碼符號(hào)(70)來(lái)打印的顯示數(shù)據(jù);在打印機(jī)(1)方面(b)接收來(lái)自主機(jī)設(shè)備(90)的顯示數(shù)據(jù)并且存儲(chǔ)所接收的顯示數(shù)據(jù)(c)根據(jù)預(yù)定的碼協(xié)議,對(duì)存儲(chǔ)的顯示數(shù)據(jù)進(jìn)行編碼,并將編碼后的數(shù)據(jù)格式化;(d)由格式化后的數(shù)據(jù)生成代表碼符號(hào)(70)的位像數(shù)據(jù);在主機(jī)設(shè)備(90)方面(e)向打印機(jī)(1)發(fā)送一條符號(hào)尺寸報(bào)告請(qǐng)求,命令打印機(jī)(1)向主機(jī)設(shè)備(90)發(fā)送符號(hào)尺寸;在打印機(jī)(1)方面(f)響應(yīng)來(lái)自主機(jī)設(shè)備(90)的符號(hào)尺寸報(bào)告請(qǐng)求,根據(jù)步驟(d)生成的位像數(shù)據(jù)計(jì)算出碼符號(hào)(70)在每一個(gè)二維方向上的尺寸;(g)作為符號(hào)尺寸報(bào)告響應(yīng)信息,向主機(jī)設(shè)備(90)發(fā)送對(duì)應(yīng)于符號(hào)尺寸的信息;以及(h)依照所述位像數(shù)據(jù)打印碼符號(hào)(70)。
      2.權(quán)利要求1所述的方法,其中,步驟(c)包括數(shù)據(jù)壓縮和產(chǎn)生一個(gè)誤差校正碼的過(guò)程。
      3.權(quán)利要求1或2所述的方法,其中,步驟(g)包括比較符號(hào)尺寸和規(guī)定的打印區(qū)域,并且發(fā)送指示碼符號(hào)(70)是否適合所述打印區(qū)域的信息。
      4.權(quán)利要求3所述的方法,進(jìn)一步包括在主機(jī)設(shè)備(90)方面(i)向打印機(jī)(1)發(fā)送一條打印請(qǐng)求,命令打印機(jī)(1)打印碼符號(hào)(70);其中,步驟(h)包括,當(dāng)碼符號(hào)尺寸沒(méi)有超過(guò)所述打印區(qū)域時(shí),打印位模式圖像以響應(yīng)所述打印請(qǐng)求。
      5.權(quán)利要求1到4的任何一個(gè)所述的方法,其中,執(zhí)行步驟(c)、(d)、(f)和(g),以響應(yīng)來(lái)自主機(jī)設(shè)備(90)的一條尺寸報(bào)告請(qǐng)求。
      6.權(quán)利要求1到4的任何一個(gè)所述的方法,其中,步驟(e)包括步驟(i),并且符號(hào)尺寸報(bào)告請(qǐng)求和打印請(qǐng)求是同一個(gè)請(qǐng)求,以及,執(zhí)行步驟(c)、(d)、(f)到(g)以響應(yīng)這個(gè)請(qǐng)求。
      7.權(quán)利要求1到6的任何一個(gè)所述的方法,其中,所述碼符號(hào)(70)是一個(gè)包括多行條形碼和矩陣條形碼的二維碼條形碼符號(hào)。
      8.一個(gè)計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì),它載有能夠?qū)崿F(xiàn)權(quán)利要求1到7的任何一個(gè)權(quán)利要求所定義的方法的計(jì)算機(jī)程序手段。
      9.一個(gè)用在權(quán)利要求1到7的任何一個(gè)權(quán)利要求所定義的方法中的打印機(jī),該打印機(jī)能夠和主機(jī)設(shè)備(90)交換數(shù)據(jù)并且能夠打印二維碼符號(hào)(70),所述二維碼符號(hào)用編碼方式表示顯示數(shù)據(jù),所述打印機(jī)包括接收裝置(2,3),用于接收來(lái)自主機(jī)設(shè)備(90)的顯示數(shù)據(jù),以作為碼符號(hào)(70)打??;圖像生成裝置(9),依據(jù)預(yù)先設(shè)定的碼協(xié)議對(duì)顯示數(shù)據(jù)進(jìn)行編碼,并且將編碼后的顯示數(shù)據(jù)格式化,由格式化后的數(shù)據(jù)生成表示符號(hào)的位像數(shù)據(jù);計(jì)算裝置(8),由位圖像數(shù)據(jù)計(jì)算出碼符號(hào)(70)在每一個(gè)二維方向上的尺寸;發(fā)送裝置(2,12,13),向主機(jī)設(shè)備(90)發(fā)送對(duì)應(yīng)于計(jì)算出的符號(hào)尺寸的符號(hào)尺寸報(bào)告響應(yīng)信息;以及打印裝置,依照所述位像數(shù)據(jù)打印碼符號(hào)(70)。
      10.權(quán)利要求9所述的打印機(jī),其中,圖像生成裝置(9)包括用于數(shù)據(jù)壓縮以及產(chǎn)生誤差校正碼的裝置。
      11.權(quán)利要求9或10所述的打印機(jī),其中,圖像生成裝置(9)適于產(chǎn)生所述位像數(shù)據(jù)以響應(yīng)來(lái)自主機(jī)設(shè)備(90)的請(qǐng)求。
      12.上述任何一個(gè)權(quán)利要求所述的打印機(jī),其中,發(fā)送裝置(2,12,13)包括比較符號(hào)尺寸和規(guī)定的打印區(qū)域的比較裝置,并且,其中,所述符號(hào)尺寸報(bào)告響應(yīng)信息是指示符號(hào)(70)是否能夠適合上述打印區(qū)域的信息。
      13.權(quán)利要求9到12的任何一個(gè)所述的打印機(jī),其中,發(fā)送裝置(2,12,13)適于發(fā)送所述符號(hào)尺寸報(bào)告響應(yīng)信息以響應(yīng)來(lái)自主機(jī)設(shè)備(90)的請(qǐng)求。
      14.權(quán)利要求12所述的打印機(jī),其中,當(dāng)所述符號(hào)尺寸報(bào)告響應(yīng)信息表明碼符號(hào)(70)可以在所述打印區(qū)域打印時(shí),打印裝置適于打印碼符號(hào)(70)以響應(yīng)來(lái)自主機(jī)設(shè)備(90)的打印請(qǐng)求。
      15.權(quán)利要求9到14的任何一個(gè)所述的打印機(jī),其中,所述碼符號(hào)(70)是一個(gè)包含多行條形碼和矩陣條形碼的二維碼條形碼符號(hào)。
      16.一個(gè)用于執(zhí)行權(quán)利要求1到8的任何一個(gè)權(quán)利要求所定義的方法的打印機(jī)驅(qū)動(dòng)程序,所述打印機(jī)驅(qū)動(dòng)程序?qū)⑦\(yùn)行在主機(jī)設(shè)備(90)上的應(yīng)用程序和打印機(jī)(1)相連接,并且根據(jù)來(lái)自應(yīng)用程序的請(qǐng)求控制打印機(jī),所述打印機(jī)驅(qū)動(dòng)程序包括接收裝置,用于接收來(lái)自應(yīng)用程序的顯示數(shù)據(jù),以作為碼符號(hào)(70)打?。粓D像生成裝置,依據(jù)預(yù)先設(shè)定的碼協(xié)議對(duì)顯示數(shù)據(jù)編碼,并且將編碼后的顯示數(shù)據(jù)格式化,由格式化后的數(shù)據(jù)生成表示符號(hào)的位像數(shù)據(jù);計(jì)算裝置,用于由位像數(shù)據(jù)計(jì)算出碼符號(hào)在每一個(gè)二維方向上的尺寸;第一發(fā)送裝置,向應(yīng)用程序發(fā)送對(duì)應(yīng)于計(jì)算出的碼符號(hào)尺寸的符號(hào)尺寸報(bào)告響應(yīng)信息;以及第二發(fā)送裝置,向打印機(jī)(1)發(fā)送所述位像數(shù)據(jù)。
      17.權(quán)利要求16所述的打印機(jī)驅(qū)動(dòng)程序,其中,驅(qū)動(dòng)程序是一個(gè)OPOS對(duì)象其中,第一個(gè)對(duì)象提供到應(yīng)用程序的接口,以及,第二個(gè)對(duì)象為第一個(gè)對(duì)象提供到打印機(jī)(1)的接口。
      18.權(quán)利要求17所述的打印機(jī)驅(qū)動(dòng)程序,其中,第一個(gè)對(duì)象包括所述接收裝置和所述第一發(fā)送裝置,以及第二個(gè)對(duì)象包括圖像生成裝置、計(jì)算裝置和第二發(fā)送裝置。
      19.一個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),載有實(shí)現(xiàn)權(quán)利要求16到18的任何一個(gè)權(quán)利要求所定義的打印機(jī)驅(qū)動(dòng)程序的計(jì)算機(jī)程序手段。
      全文摘要
      一個(gè)條形碼或類似的碼符號(hào)可以由打印這些符號(hào)的打印機(jī)(1)在一個(gè)規(guī)定的打印區(qū)域內(nèi)精確地打印。打印機(jī)(1)有一個(gè)將顯示信息轉(zhuǎn)換為符號(hào)的轉(zhuǎn)換器和一個(gè)向主機(jī)設(shè)備(90)報(bào)告轉(zhuǎn)換后的符號(hào)尺寸的裝置。為了打印,主機(jī)設(shè)備僅僅向打印機(jī)(1)發(fā)送特定的指令和表示要被打印的符號(hào)的文本數(shù)據(jù)。于是,主機(jī)就能夠確認(rèn)是否可以在特定區(qū)域內(nèi)進(jìn)行打印。
      文檔編號(hào)G06K1/12GK1329328SQ0111787
      公開日2002年1月2日 申請(qǐng)日期2001年3月31日 優(yōu)先權(quán)日2000年4月14日
      發(fā)明者小圷直彥, 武井貞介 申請(qǐng)人:精工愛(ài)普生株式會(huì)社
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1