欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

二維碼符號的打印方法,和打印機的制作方法

文檔序號:2487239閱讀:389來源:國知局
專利名稱:二維碼符號的打印方法,和打印機的制作方法
二維碼符號的打印方法,和打印機本發(fā)明申請是申請日為"01年3月31日、申請?zhí)枮?20041 005 569 3. 0的同名專利申請的 一個分案申請。技術(shù)領城本發(fā)明涉及一個打印二鄉(xiāng)P騎號的方法,以及實5HA方法的打印才玲打 印鋒動餅。
背景技術(shù)
所謂碼符號(在下丈中簡稱為"符號")的典型例子;f議一維和二維條 形碼。這些符號被用于以編碼方式并且通常是機器可讀的形式a達(顯 示)某種信息,以后稱為"顯示數(shù)據(jù)"。一維條形碼是當今最常采用的符號。它們通常用于對產(chǎn)品號和其他信息 編碼,可以很容易地#售商品上找到,有兩種常用類型的二鄉(xiāng)^馬將多個一維^^騷直堆放、絲直排列的 "堆棧碼"或"多行碼",以及矩陣碼。矩陣碼將碼矩陣的交XA昱成黑或 白來編碼信息,因此與傳統(tǒng)的一維條形碼有著本質(zhì)的不同。由于二維碼具 有比一維條形碼更強大的信息編碼能力,它得到了^L^多的使月。 一維 條形碼,例如包含以一個水平或垂Jjf列表示的一行信息。另一方面,一 個^bf^:維碼包含多行垂直排列的一維^^碼,矩陣碼是依據(jù)特狄則將 碼矩陣的交叉點J^黑或白(開或關)iM^^f言息,Code 49, Code 16K, PDF417, S卯erCode,以及UUracode是;tN&維 碼的例子。VeriCode, Data Matrix (ECC0O0-14-, ECC200,以及其他),CP Code, MaxiCode, Code 1, QRCode Model II, Aztec Code是矩陣碼的例 子,二維碼的M特征包括(1)能夠比一維條形碼顯示(編碼)更多數(shù) 據(jù)的能力,(2 )全向可讀(讀取方向不受限制),(3)編碼二進制信息的能力,以及(4)更高的讀碼準確性和#& (翁i^M發(fā)測和^i)。典型的一維條形碼用#空白(條之間的間隔)的組合來顯示特定信息 (顯示數(shù)據(jù))。條形碼可以用條碼掃描儀讀取并幹f言息itt成為人可以閱讀 的形式。因此,打印條碼需要先將顯示數(shù)據(jù)轉(zhuǎn)M條碼的形式,然后由打 印機打印'矩陣碼也是如此。也就是,為了用在矩陣符號中的黑和白像素 的組合來顯示特定的信息,顯示數(shù)據(jù)必須首先轉(zhuǎn)換為矩P車碼的形式,即符 號,然后由打印機打印。為了將信息編碼成可以打印的符號數(shù)據(jù),顯示數(shù)據(jù)必須首ibt艮據(jù)一個相 應的碼協(xié)議轉(zhuǎn)換為特定碼。需要注意的是,二維碼符號的轉(zhuǎn)換所涉及的并 不僅狄一個簡單的碼轉(zhuǎn)換,更脅地,例如,轉(zhuǎn)換要4^L顯示數(shù)據(jù)的開始^c開始碼,在結(jié)束0a停ib5馬,并且要產(chǎn)生誤差校驗碼,^f亍數(shù)據(jù)壓縮,以及由相應的碼協(xié)議為所用類型的符號定義的其它步驟。因此,二維 碼采用的編碼過程tt雜,不僅絲于它可以顯示更多的信息,同時樣 于在某些情況下需要的壓縮和^J^i編,作,通常,符號數(shù)據(jù)由運行在主機上的應用程序產(chǎn)生,該應用M擬亍將顯 示數(shù)據(jù)轉(zhuǎn)M符號的位像(后面也叫"符號位模式")的過程,再將產(chǎn)生的位像作為打印數(shù)據(jù)傳iH^打印機。然后,通過打印機打印這些打印數(shù)據(jù),符號被打印出來。因此,符號由抽j亍一個標準打印過程的打印機 打印,即僅僅打印M^^t^的^f莫式數(shù)據(jù)。正如上面所指出的,將顯示數(shù)據(jù)轉(zhuǎn)換為實際被打印的符號數(shù)據(jù)的過程需 要轉(zhuǎn)M示數(shù)據(jù),并#^符號各自的類型而選擇采用其它一些步驟。例如,產(chǎn)生一個PDF417碼(一種類型的二^6馬)時,就需^t據(jù)壓縮和產(chǎn)生^i ;fe驗碼(ECC)。并且,PDF417協(xié)iOL許三種用戶可選擇的不同的數(shù)據(jù)壓縮 模式以及9個(0-8 )用戶可選的ECC船'J,由于可以使用多種壓縮模式以及9個不同的ECC級,因此被打印的符號 的尺寸(高和寬)將!^具體內(nèi)容以及符號中要編碼的數(shù)據(jù)量而變化,這 意味著,直到產(chǎn)生了實際的位模式才能知iHiHt打印的符號的尺寸。如上所迷的符號,通常必須適合一個定義的打印區(qū)域或打印框架.但 是,直到產(chǎn)生了實際的^^莫式(符號數(shù)據(jù))才能知道二維符號的尺寸,這就需要在打印開始之前能夠確認產(chǎn)生的符號是否能在定義的打印區(qū)城內(nèi)打 印。Jfe^即使^f莫式數(shù)據(jù)相同,打印的符號的尺寸也會隨著打印^辨率 的不同而不同。發(fā)明內(nèi)容本發(fā)明的目標之一就是提#—種方法和用于扭軒所述方法的打印* 打印才w區(qū)動程序,以便能夠在符號打印之前確認包含要顯示的數(shù)據(jù)的符號 是否可以在定義的打印區(qū)域內(nèi)打印。這一 目標是以下技術(shù)方案實現(xiàn)的'最佳的實施例是M權(quán)利要求的主題。在本發(fā)明的一個實施例中,打印M收要打印的顯示數(shù)據(jù)作為一個-錄號。例如,顯示數(shù)據(jù)可以以ASCII碼^在第一個^i殳備中,然后符號 圖像生成裝置將顯示數(shù)據(jù)轉(zhuǎn)換為符號數(shù)據(jù),即最終被打印的符號的位才莫式 或位圖像。產(chǎn)生的符號數(shù)據(jù)可以M在第二個^i殳備中。第二個^i殳 備最好是打印緩沖器或者是和打印裝置相連的其它類型的^i殳備。根據(jù) 控制主機設備的要求,從符號的位象計##號的二維尺寸。然后將符 號尺寸信息傳i^ij主設備,作為符號的尺寸信息,結(jié)果是,當,為符號打印的數(shù)據(jù)被接)]^,打印胃這些數(shù)據(jù)轉(zhuǎn)換為 特定類型的符號并打印。因此,主設備或特別是運行在主設備上的一個應 用禾餅,只需^(夸顯示數(shù)據(jù)傳iii^打印機。這樣應用程序的開發(fā)就更容易 了.另外> 主設備可以在打印開始前確認符號的尺寸,因為如果il樣請求 的話,打印積洽將符號尺寸傳*主設備,根椐本發(fā)明的一個實施例,當A^設絲j]i^一個打印指令或符號尺寸 報告指令時,將m示數(shù)據(jù)中產(chǎn)生符號的位像。例如> 當接jR^符號 尺寸報告指令時,會在工作內(nèi)存中產(chǎn)生位像,以便確認被打即的實際 符號的尺寸。根據(jù)本發(fā)明的一個打印機可以打印包括PDF417、 SuperCode和 UltraCode符號體系的;^t^糾,以及包括VeriCode、 Data matrix和MaxiCode符號體系的矩陣碼,^i^f亍依據(jù)本發(fā)明的方法的打印機例如可以由一個能夠以點為單位打印的打印裝置、 一個CPU和內(nèi)存、以及控制這些部件的控制程序?qū)崿F(xiàn)。使月 一個硬連線的邏輯i殳M可以實5見逸些功能。這樣的控制程序可以被記絲計^l可讀的數(shù)據(jù)^ft介質(zhì)上,因此,通 過將實現(xiàn)依據(jù)本發(fā)明的方法的程序加鈔'!包括打印裝置、 一個《至序控制的 CPU和內(nèi)存的打印積4fc可以打印不同類型的符號。不僅織打印機,本發(fā)明的必要功食&也可以由邏輯上位于運行在主設備 的應用程序以及和主設備相連的4if打印機t間的打印^b 區(qū)動程序?qū)崿F(xiàn)。 打印棚區(qū)動程序根據(jù)來自應用程序的要求控制打印機,以便實現(xiàn)本發(fā)明的 方法。實現(xiàn)不同打印才M區(qū)動程序方法的計算才M呈序也可以記錄在計算機可讀 數(shù)據(jù)絲介質(zhì)上,


本發(fā)明的這些和其他的目標和特征,可以通it^f下面結(jié)合附圖進行的最 佳實施例的詳細描i^理解,其中同樣的部件用相同的數(shù)字標注,其中 圖1是依據(jù)本發(fā)明的笫一個實施例的打印機的功負W匡圖; 圖2是依據(jù)本發(fā)明的第二個實施例的打印機的功負^匡圖; 圖3是可以M才A^:^JiJ打印機的例示符號打印控制指令的及其效果 的列表;圖4顯示了將顯示數(shù)據(jù)轉(zhuǎn)換為用于符號打印的符號數(shù)據(jù)的過程; 圖5是依據(jù)本發(fā)明的打印機的符號打印過程的流程圖; 圖6顯示了一個打印樣例,其中,符號的尺寸超過了第20頁左上角區(qū) 域所定義的打印區(qū)域21;圖7顯示了在一個標各上打印^^碼類型的符號;圖8 ^ CPU和ROM或RAM實現(xiàn)圖1和圖2所示的控制i殳備和^i殳備 的一個典型結(jié)構(gòu)的功船醫(yī)圖;圖9顯示了在POS系統(tǒng)中的OPOS位置;圖IO是在依據(jù)本發(fā)明的打印,區(qū)動禾銀中的符號打印過程的';銀圖;圖ll (a)顯示了一個PDF417符號的格式,(b)顯示了在PDF417符號的數(shù)據(jù)區(qū)域編碼的顯示數(shù)據(jù)的十進制表示;以及 圖12顯示了一個PDF417碼字的格式。脅實施方式本發(fā)明可以用于打印任何類型的符號,在這里僅以例示方式參考 PDF"7符號、 一種"^Jf]正在不斷增長的i^t^^^馬進行描迷'如上面指出的,PDF417是一種^^維碼。在圖11 (a)中顯示了一個 典型的PDF417符號'圖11所示的PDF417由三^^^^碼組成。 一個PDF417 符號由一^直排布的條碼行的員構(gòu)成。每個PDF417符號至少有3行, 最多可有90行,每個符號最多可以包含1850個^字符、2710個數(shù)字或 1108字節(jié)的二進制數(shù)據(jù)。下面描述PDF417符號的l^l^t,以幫助理解后面對本發(fā)明的捧泎的 描迷。在一個PDF417符號的四個邊、即上邊、下邊、左ii^右邊的m 有一^4f止區(qū)。如圖ll (a)所示,每行包括一個前導靜止區(qū)、一^H^模 式、 一個左邊指示列、包含編碼信息和其它數(shù)據(jù)的符號字符(或者"碼字")、 一個右邊指示列、一^ifjbf莫式和一個結(jié)尾靜止區(qū)。圖ll(b)顯示了碼字、 即在圖11 (a)中顯示的符號字符的數(shù)值,在這個例子中,行l(wèi)中的碼字包含 值005 810 032,行2中包^f直094 179 880,行3中包^f直563 781 904。為了生成要打印的PDF417符號數(shù)據(jù),4娥PDF417協(xié)卡狄理符號中要被 編碼的顯示數(shù)據(jù)以產(chǎn)生碼字.這些處理包括壓縮、誤差校正編碼、添加格 式^^字(諸^^始和停iL^式),碼字序列在圖12中顯示。每個碼字包含4個黑色條和4個間隙("元 素")以及悉共17個才狹。"沖狹"定義了在PDF417條碼符號中的^^或 間隙的最窄tt。在PDF417符號中,所有的條和間隙的^A這今^變的 倍數(shù),最多是6倍。才狹的tt可由用戶定義,因此可以通過控制微的 t^調(diào)整符號的^P尺寸,PDF417協(xié)議允it^行有1到30個碼字,3到90行,這樣可以調(diào)整PDF417 符號的寬高比以適應相應打印區(qū)域的形狀。這^61說,在不改變PDF417符 號內(nèi)容的情況下,可以改變符號的寬高比,即可以改變寬對高的比例,以 使符號可以在一個特定的打印區(qū)域內(nèi)被打印。PDF417協(xié)議也允許數(shù)據(jù)壓縮和添加誤差校正碼。有三種數(shù)據(jù)壓縮方 式文字壓縮、字節(jié)壓縮和數(shù)值壓縮,9個i^t校正級0敘L^8級,允許 不同的"^^0'J。因此將所需要的顯示數(shù)據(jù)轉(zhuǎn)換到實際被打印的符號數(shù)據(jù)需要一個復雜 的過程,圖1是依據(jù)本發(fā)明的第一個實施例的打印機的功f^醫(yī)圖。這個打印機l 通過接口 2連接到主機90。主機90發(fā)送的數(shù)據(jù)通過接口 2由接收器3接收, 并^^在一個^J嫂沖器4中。然后數(shù)據(jù)解釋器5 #^接^質(zhì)序?qū)^在 接J^爰沖器4中的數(shù)才剮故出解釋。如果接^^的數(shù)據(jù)是將要作為符號打印的顯示數(shù)據(jù),顯示數(shù)據(jù)將被a 在顯示數(shù)據(jù)存儲器6中。然后,在顯示數(shù)據(jù)務賭器6中的數(shù)椐被符號圖 像生成器9轉(zhuǎn)M符號的位模式,符號圖像生成器9由一個碼轉(zhuǎn)換處理器7 和一個4莫M成器8組成。顯示lt據(jù)首先由碼轉(zhuǎn)換處理器7根據(jù)要被打印的符號的協(xié)議轉(zhuǎn)^碼 模式。轉(zhuǎn)^^莫式并不是筒單的將顯示數(shù)據(jù)1: l的轉(zhuǎn)換為碼字。更M 地說,例如,碼模式轉(zhuǎn)換包括數(shù)據(jù)壓縮和誤差校正編碼以及以特定的開始 和停ih^式和左右邊指示器格式化.然后,被轉(zhuǎn)^il特定格式的碼字的符號數(shù)據(jù)由模式生成器8轉(zhuǎn)換成為要 打印的符號的^^莫式。然后符號^^莫iyt^^在打印緩沖器10中。^ft在 打印緩沖器10中的符號由打印裝置11打印。如上所述的符號打印由來自主機的指令控制,注意,顯示數(shù)據(jù)和符號的 打印在上述操作中被聯(lián)系在"^,使得符號通it^送顯示數(shù)據(jù)來打印???以提供M不同的指令,包括發(fā)ilS示數(shù)據(jù)的指令、請,M知主才M^送 的顯示數(shù)據(jù)產(chǎn)生的符號的尺寸的指令以及打印前面發(fā)送的顯示數(shù)據(jù)的指 令,在下面我們假ih機設4^令打印糾艮告符號尺寸。由主機90發(fā)出的 指令由數(shù)提解釋器5做出解釋'當數(shù)據(jù)解釋器5彰則到了一條符號尺寸報 ^4^令時,數(shù)據(jù)解釋器5使得^t在顯示數(shù)據(jù)存儲器6的數(shù)據(jù)輸出到符號 圖像生成器9,同時將尺寸信息發(fā)射器12設置為活動狀態(tài)。因此,尺寸信 息發(fā)射器12從由符號圖像生成器9產(chǎn)生的符號圖傢數(shù)據(jù)獲得符號尺寸信 息,M^t^射器13和接口 2將尺寸數(shù)據(jù)發(fā)it^主機90。圖2是依據(jù)本發(fā)明的第二個實施例的打印機的功負^匡圖。依據(jù)本實例的 打印機不同于前面描述的打印機實例,它添加了窗尺寸^^器15和控制器 14。依據(jù)該實施例的打印機可以^f亍由第一個實施例的打印;Nl:行的相同 過程,但L^供附加功能??刂破?4控制打印機的^#作,;l^于通過^4秘接不同打印機 部件的操怍以運4対呈序來響應不同的命令的裝置。窗尺寸^^器5是##打印框架的裝置,打印才^LM打印符號的區(qū) 域。打印框架由主機90{ ,并發(fā)i^ij打印機l,由窗尺寸絲器15^4 打印框架的尺寸。如果主^U殳有設置打印框架,將根據(jù)預先i殳置的缺省打 印框架i^自動設置為一^^尺寸。符號必須在定義的打印框架內(nèi)打印。然而,如前i迷,由于圖像壓縮和 數(shù)據(jù)中力口入的誤差校驗碼,直到要打印的符號的實際^f莫式產(chǎn)生時才食g知 道二^馬符號的實際打印尺寸。因此存在著在符號打印開始之前要確認符 號是否能夠打印在定義的打印框架內(nèi)的情況。使用確認命令可以確認是否 可以在打印框架內(nèi)打印。當一條確認指令被4UiJ、由數(shù)據(jù)解釋器5解釋并 被識別為確認指令時,通知尺寸信息發(fā)射器12。尺寸信息發(fā)射器12從窗口尺寸M器15中獲得打印框架信息,將其與 來自模式生成器8的符號數(shù)據(jù)比較,以決定符號是否可以在打印才E架內(nèi)打 印,并將比,^ia^主機90。因此主機90可以知道符號是否可以在打 印框架內(nèi)打印。如果不食tMT印框架內(nèi)打印,主機90可以改變符號的長度 和高度或者改變沖^M,使得符號能夠在打印框架內(nèi)打印。^v^機中傳送的樣絲號打印控制命令在圖3中給出.^^理解,圖3中顯示的命令的功能、命4M戈碼和I^^A僅以例于的形式顯示的,除了顯示的這些還可以使用其它的功能、代碼和I^L多個功能可以被整合成為單獨一條指令。這些指令由數(shù)據(jù)解釋器5解釋,在控制器14的控制下, 由各部分*4^于對應于一特定指令的過程。圖3中的指令將在下面詳細描迷。(a) 命令XH1以參數(shù)ala2定義了一個PDF417符號的£>1上列的數(shù) 目。 一個PDF417符號最多可以有30個數(shù)據(jù)列'在一個PDF417符號中的數(shù) 椐區(qū)域73的水平"^1^,以一個碼字的^。碼字tt可以從當前的才狹tA計算出來。(b) 命令XXX2中以錄blb2定義了符號中行的數(shù)貝' 一個PDF417符號至少有3行,最多有90行。數(shù)據(jù)區(qū)域73的垂直高^1一行高M以 行數(shù)。數(shù)椐區(qū)域73中碼字的總數(shù)等于數(shù)據(jù)的列數(shù)乘以行數(shù), (G)命令nX3以賴clc2定義了^狹妓。用來M^才狹妓的單 ^it常是打印機的分辨率(點),(d) 命令XXX4以錄dld2定義了每個碼字的高度,碼字高度通常是 基于才狹高度,MX為I^Ul(i2乘以4狹tt。(e) 命令XH5以#|丈e敗了"^Ji^iE級0—8.有9 ^J^i^馬 字數(shù)目(等于2"(e+l))不同的諒差^Jt敘L^。例如,在0級^;^iEMjiJ, 有2個(2Al-2 HU^JL碼字。在8級"^J:;feiEJ5J5'j,有512個(2A9=512 ) 益^JL^馬字。(f )命令XXX6以;^l史f iiti了 PDF417符號體系的選項。選項例如包 括^L^一個筒化DF""7符號.簡化PDF417符號和圖11 (a)中的PDF417符 號不同,它省略了右邊指示器74和停jbf莫式75,這使得碼字的數(shù)目減少 了。簡化PDF417符號的鐵與、在于它只食&一個方向讀^:據(jù),因棘牲了 在讀取方向上的自由度。(g )命令XXX7將#^: gl到gn中指定的顯示數(shù)椐^4^在顯示數(shù)據(jù), 器6中。(h凈令XXX8將顯示數(shù)據(jù),器6中存賭的顯示數(shù)椐以符號數(shù)據(jù)打印 (即打印經(jīng),碼的存"^顯示數(shù)據(jù))。應注意的是,當字符的尺寸大于打印框架的尺寸時不擬于打印操作。(i )^令XXX9將與^^者在顯示,器6中的顯示數(shù)據(jù)對應的符號的尺 寸傳*主4&90,即發(fā)i^t務賭的顯示數(shù)據(jù)編碼而生成的符號的尺寸,尺 寸信息包括符號的水平尺寸和垂直尺寸(稱為在PDF417中的X維和Y維), 和/或符號能否在打印框架中打印。水平尺寸和垂1A寸用點,:(打印機 裝置11的最小間距)、公制^tiil其它測量^i^示。應該^W,文中的 "7JC平"和"垂直"^A描逸f生的,并不對實際的方向強加^^可限制,只 ^_表示二維方向是相互垂直的。打印機1也可以設置為自動處理符號的行計數(shù)和列計數(shù),以使符號可以 適應打印框架。例如,通過將上面的命令XXX1和XXX2的Mala2和blb2 "i殳定為0>可以將打印枳^^令為自動處理符號。圖ll中顯示了打印一個PDF417符號70的過程,以下將參考圖4、圖5 進^^苗述。圖4顯示了為了打印符號而將顯示數(shù)據(jù)轉(zhuǎn)換為符號圖像,圖5 顯示了打印過4呈的流程圖。打印過程開始于,打印機的數(shù)據(jù)解釋器5按照FIFO (先i4^出)的順 序" 并解#"^#^在接^^沖器4中的數(shù)據(jù)(步驟S501),如果接4i3iJ的數(shù)據(jù)是一個結(jié)構(gòu)定義命令(上面的命令XXX1到XXX6), 定義了符號70的^結(jié)構(gòu)(即數(shù)據(jù)列的數(shù)目,行數(shù),4執(zhí)狄、行高、誤 差妙船']和選項)(步驟S502檢測結(jié)構(gòu)定義命令),將才鵬接》|1^的指令 的^^iM符號的結(jié)構(gòu)(步驟S503X結(jié)構(gòu)定義指令的iOi皮g在打印機 1的特定賴區(qū)域,棘圖中顯示,例如,控制器14或碼轉(zhuǎn)換處理器7, 除非發(fā)生了 支變,打印機可以保證一旦銀萍了這些設置,#^保留并供后 續(xù)符號打印,使用。另外,如果主機90沒有^t符號的結(jié)構(gòu)設昱,可以 用規(guī)定的預設缺省值定義符號結(jié)構(gòu)。^il個示范實施例中假設要被打印的 符號的數(shù)據(jù)列數(shù)是3,行數(shù)為3, ^t;l^i殳置為規(guī)^t值,一旦^^了絲的符號結(jié)構(gòu),主機90發(fā)送出符號70的顯示數(shù)據(jù)。進 一步在實施例中假設,主機90將顯示數(shù)據(jù)ABCDEF (ASCII碼)隨指令HH 發(fā)i^^打印機1,當打印機1接>1">顯示數(shù)據(jù)并且數(shù)據(jù)解釋器5判決接^J'J 了命令XXX7 (步驟S502,發(fā)a示數(shù)^t令),在命令<^的數(shù)據(jù)#^為顯示數(shù)據(jù)^^在顯示數(shù)據(jù)務賭器6中(步驟S504 )。顯示數(shù)據(jù)可以由主機以 ASCII碼的形式發(fā)送或者由打印機轉(zhuǎn)換為ASCII碼。圖4顯示了將顯示數(shù)據(jù)^器6中的ASCII碼顯示數(shù)據(jù)轉(zhuǎn)換為碼字80, 以及將得到的碼字轉(zhuǎn)換為一個^^要打印的符號70的位像(符號數(shù) 據(jù))的位才莫式的過程.當主機90發(fā)送指令XXX9讓打印才M艮告符號尺寸信息時(步驟S502檢 測到一個報告尺寸信息指令),打印機l將^"測是否有打印數(shù)據(jù)^f^在顯示 數(shù)據(jù),器6中。如果是(步驟S505返回Yes ),碼轉(zhuǎn)換處理器7通itS縮 顯示數(shù)據(jù)和生成M校正碼,將顯示數(shù)據(jù)轉(zhuǎn)換為碼字,然后加上^^始和停 止模式和左右,旨示字符,就產(chǎn)生了一個完整的碼字塊80。然后模式生 成器8將這個碼字塊80轉(zhuǎn)換為PDF417符號70的符號數(shù)據(jù)去打印(步驟 S506 )。注意,在圖4中僅僅顯示了在文字壓縮模式中通過將ABCDEF的ASCII 碼轉(zhuǎn)換得到的碼字塊80的碼字值001、 063、 125,沒有顯示;^;f莫式、停 J^莫式和3W旨示字符'#例中,遵循PDF417協(xié)i錄將ASCII碼轉(zhuǎn)^ PDF"7碼的碼字。然而,在it^轉(zhuǎn)換協(xié)議并不重要,因此僅M示了轉(zhuǎn)換 的碼字值。在本例中盡管只有三個碼字001、 063和125,要注意最終的符號有三 個數(shù)據(jù)列,并M三行高。il^因為在PDF417碼字中必須至少有三行高, 同時在本例中的符號結(jié)構(gòu)設置成三個數(shù)據(jù)列,因此除了顯示數(shù)據(jù)碼字^卜 還插入了垂直和水平^J^it碼字和填充碼字 然后尺寸信息發(fā)射器12將符號70的水平尺寸X和垂狄寸Y與{錄在 窗尺寸員器15的特定打印才1^尺寸> ,然后將比較的結(jié)果、7jc平尺寸 X和垂1X寸Y發(fā)i^主機90 (步驟S507 ),如U機90發(fā)送了命令XXX8要,M號打印(步驟S502檢測到了打印 符號指令),打印機l將檢查是否有顯示數(shù)據(jù)^^在顯示數(shù)據(jù)^t器6。如 果是(步驟S508返回Yes),則顯示數(shù)據(jù)被轉(zhuǎn)換為符號數(shù)據(jù)(步驟S509 )。 然后將符號70的尺寸和規(guī)定的打印框斜目H^t如果符號70可以在打印 才EM內(nèi)打印(步驟S510返回Yes), #^打印符號(步驟S511)。如果接收的命令是一些其它命令(步驟S502儉測到不^h面所述命令 的命令),樹W^令謝沐應步驟(步驟S512)'如絲步驟S505或步驟S508中沒有顯示數(shù)^##在顯示數(shù)據(jù)賴器6 中,并且如絲步驟S510中符號的尺寸超出了打印框架,#^給主機90 發(fā)幼應的麟消息。圖6、圖7顯示了打印框綠符號尺寸之間的關系。圖6顯示了在第20 頁的左上部^X—個打印框架21的情況。如果要打印的符號在7JC平方向上 太長,如打印圖^^廓22所示,則打印圖像22的右膽^Mf^p打印 框架21的右邊的i^重疊。這使得閱讀打印框架21右邊的符號和文字變 得很困難。如打印圖^^廓23所示,符號相對于打印4E^ 21太高,在這 種情況下,符號23的底部4f^在打印框架21下面打印的文字重疊,也 會發(fā)生同樣問題,即難以閱讀符號和符號打印框架下面的文字,如果符號的高度或 ^過了打印框架21,并且另一邊留有空間(例 如,如果符號太高但比打印框架窄),那么可改變符號的寬高比,使符號適 應打印框架。例如,在一個太寬的符號22的情況下,可以減少7jc平列的數(shù) 目,增力口行數(shù),使符號更窄更長。同樣,為了打印太高的符號23,可以減 少行數(shù),增加列數(shù),使符號適應打印框架。也有一些情況,即使通過調(diào)整行列數(shù)目改變了符號的形狀,也不負t^打 印框架內(nèi)打印符號。在這樣的情況下,可以選擇減少模夾即符號字符的最 小#以減少符號的整個尺寸。因此通過在符號打印前決定符號是否可以在打印框架內(nèi)打印,可以改變 符號形狀使符號適應打印沖^。然而,為了實現(xiàn)這一點,必須要在開始打 印前知道打印符號的尺寸。如前所迷,在此實例中,通過命令XXX9,可以 從打印機l獲得這個尺寸信息,運行在主機上的軟件應用禾1^ (絲圖中 顯示H狄從打印機1獲得的尺寸信息,棘查符號尺寸,絲過必要的 手段,例如改變符號比例或修 U示數(shù)據(jù)等,來修改符號使符號適應打印 框架,用上面的指令XXX1至XXX6去改變打印機l的符號結(jié)構(gòu)設置,來實現(xiàn)改 變符號尺寸.或者,應用禾I^可以 文變打印框架的定義而不是 支變符號的尺寸'圖7顯示了一個在標簽26上打印符號、例如條形碼。標簽紙25通常包 含多個標簽26,標簽26的背面有粘膠,當符號打印以后,可以從標簽紙25 撕下標簽26,用到商品或其它物品上。因此,在每一個標各26上準確^T 印符號十分重要。圖8是用一個程序控制中狄理單元(CPU) 60和4#器、例如RAM61 和R0M62來實現(xiàn)圖1或圖2所示的^t控制部^^i殳備的一個典型組 成的功^i匡圖。打印頭31、馬達32、鐵心33以及驅(qū)動這些部件的打印裝置驅(qū)動電路 34構(gòu)成了打印裝置11,它抽對與符號打印相關的各種物理捧怍,包括傳送 打印紙,打印,切紙。樹松測器35^iL^接到CPU30上,包^^刀紙4I^傳 感器,夾紙傳感器和其它的銷誤狀態(tài)傳感器,開蓋傳感器,紙張位置傳感 器,如果打印機是噴墨打印機,還有一個剩余墨7^傳感器。來自這些傳感 器的檢r測結(jié)果輸^^CPU,數(shù)據(jù)和一個能夠#上 示數(shù)據(jù)、將數(shù)據(jù)轉(zhuǎn)^^號數(shù)據(jù)、發(fā)送符號 尺寸信息并完成其他功負沐過程的軟件(包括固件),在R0M3^和/或 RAM37中,并由CPU30讀出,去完成這些不同的功能,完成這些過程的軟件 可以^在計算機的可讀數(shù)據(jù)^t介質(zhì)上。因此,計算才;u^數(shù)據(jù)M介質(zhì) 中讀出軟件去控制打印機,并由此實現(xiàn)了依據(jù)本發(fā)明的打印機和打印方 法。如上所述,通過《^ CPU、內(nèi)存和打印裝置來實5(L^發(fā)明,可以《膝易 地實J膽號轉(zhuǎn)換i^f呈,并M多個打印符號中選擇出需要的符號,本發(fā)明也可以應用到控制打印機的打印驅(qū)動程序。下面以0P0S(零售 POS的OLE)為例描述打印^4區(qū)^f呈序'0P0S是一個定義了 POS系統(tǒng)設備(例如打印棒顯示器)的標準接口 的國際標準。OP0S標準對象(驅(qū)動器)給應用程序開發(fā)者提供了 iPI (應 用牙I^設計接口 )函數(shù),這些API函數(shù)翻了由POS系統(tǒng)主機i殳備上的 Windows (R)操作系統(tǒng)支持的OLE (對象鏈接和嵌入)控制,簡化了應用程序 開發(fā)過程, 一個OP0S標樹象在下面簡稱為一個0P0S對象。圖9說明了在一個P0S系統(tǒng)中OPOS對象的角色(定位)。如圖9所示, OPOS對象是位于操作系統(tǒng)和控制POS系統(tǒng)i殳備的應用禾呈序之間的lt件結(jié) 構(gòu)。OPOS對^M居定義的細'H示準化了主沒備(PC)和POS系統(tǒng)沒備之間的接口。OPOS對#^二層控制對象(CO)層和服務對象(SO)層,控制對象 是為^rHS更備類提供的對象,比如顯示和與應用程序的控制接口。服務 對象是在設備^Lh提供的對象,例如,對于特定的打印模式,并允"^Ht過 辦系統(tǒng)去控制特定設備。因此服務對象包^i殳備的特有信息。例如對于 打印機,月艮務對象包括諸如打印枳洽辨率、加栽的字體、打印列數(shù)等信息。 如果需要,服務對象也可以從設備讀M些特定的信息,通im務對象的方法和屬性,應用程序可以按需控制特定設備,通過事 件和屬性可得到i殳^"控制的結(jié)果。一個OPOS對象將從應用程序到設備的過程請求轉(zhuǎn)換為由設備支持的命 令,并且以狀態(tài)報告的方式,接收來自設備的處理結(jié)果。下面參考圖10描迷打印一個PDF417符號的過程。以下假設應用禾酵 向打印機發(fā)送了一個打印符號命令和顯示數(shù)據(jù)。已經(jīng)設置了結(jié)枸定義信 息。在接收到了來自應用程序的打印符號命令和顯示數(shù)據(jù)后(步驟51001) , 0P0S對象按上文解釋將顯示數(shù)據(jù)轉(zhuǎn)換為位像數(shù)椐(步驟51002) 。 OPOS對象可以寫入以便轉(zhuǎn)換過程所需的結(jié)構(gòu)定義信息可以##在 服務對M者^"^在打印機中,并在需要時由此讀出。然后,將由位像表示的符號的尺寸與定義的打印框架比較以尜定符 號是否可以在打印框架內(nèi)打印(步驟S1003 )。對于14^結(jié)構(gòu)定義信息,打 印框架信息可以g在服務對象或打印機中,并在需要時由此讀出。如果可以在打印框架內(nèi)打印(步驟S1004返回Yes),符號的位象 數(shù)據(jù)將被i^A打印機打印(步驟Sl 005 ),如果符號大于定義的打印柩架(步 驟S1004返回No ),就通知應用程序(步驟S1006),該過程結(jié)束。當顯示數(shù)據(jù)同報告尺寸信息命—同從應用禾1^發(fā)送時,也可^^]相同 的過程。通*主機安裝設備驅(qū)動器來處理將要顯示的信息轉(zhuǎn)換為要打印的符 號的位像的過程,應用程序的開發(fā)就"o簡單。也可以有效地利用主設備強大的處理能力以縮短處理時間。還可以在打 印機上縮短打印命令的處理'如上所述,因為打印機或打印棚區(qū)動程序可以響應運行在主設備上的應 用程序的請求,返回符號尺寸信息,所以本發(fā)明可以^^用程序不^u亍符號轉(zhuǎn)換ii^呈就確認符號的尺寸。
權(quán)利要求
1.一種打印二維碼符號的方法,所述二維碼符號用編碼的方式表示顯示數(shù)據(jù),所述方法由能夠互相通信的一臺主機設備(90)和一臺打印機(1)來實現(xiàn),包括如下步驟在主機設備(90)方面(a)向打印機(1)發(fā)送要作為碼符號(70)來打印的顯示數(shù)據(jù);在打印機(1)方面(b)接收來自主機設備(90)的顯示數(shù)據(jù)并且存儲所接收的顯示數(shù)據(jù);(c)根據(jù)預定的碼協(xié)議,對存儲的顯示數(shù)據(jù)進行編碼,并將編碼后的數(shù)據(jù)格式化;(d)由格式化后的數(shù)據(jù)生成代表碼符號(70)的位像數(shù)據(jù);在主機設備(90)方面(e)向打印機(1)發(fā)送一條符號尺寸報告請求,命令打印機(1)向主機設備(90)發(fā)送符號尺寸;在打印機(1)方面(f)響應來自主機設備(90)的符號尺寸報告請求,根據(jù)步驟(d)生成的位像數(shù)據(jù)計算出碼符號(70)在每一個二維方向上的尺寸;(g)作為符號尺寸報告響應信息,向主機設備(90)發(fā)送對應于符號尺寸的信息;以及(h)依照所述位像數(shù)據(jù)打印碼符號(70)。
2. 如權(quán)利要求1所述的方法,其特征在于,所述步驟(c)包括數(shù)據(jù) 壓縮和產(chǎn)生一個誤差校正碼的過程。
3. 如權(quán)利要求1所述的方法,其特征在于,所述步驟(g)包括比較 符號尺寸和規(guī)定的打印區(qū)域,并且發(fā)送指示碼符號(70)是否適合所述打 印區(qū)域的信息。
4. 如權(quán)利要求3所述的方法,其特征在于,進一步包括 在主機設備(90)方面(i) 向打印機(1 )發(fā)送一條打印請求,命令打印機(1 )打印碼符號 (70 );其中,步驟(h)包括,當碼符號尺寸沒有超過所迷打印區(qū)域時,打印位模式圖像以響應所述打印請求。
5. 如權(quán)利要求l所述的方法,其特征在于,執(zhí)行步驟(C)、 (d)、 (f)和(g),以響應來自主機設備(90)的一條尺寸報告請求。
6. 如權(quán)利要求1所述的方法,其特征在于,所述步驟(e)包括向打印機(1)發(fā)送一條打印請求,命令打印機(1 )打印碼符號(70 ),并且符號尺寸報告請求和打印請求是同一個請求,以及,執(zhí)行步驟(c)、 (d)、 (f)到(g)以響應這個請求。
7. 如權(quán)利要求l所述的方法,其特征在于,所述碼符號(70)是一個包括多行條形碼和矩陣條形碼的二維碼條形碼符號。
全文摘要
一個條形碼或類似的碼符號可以由打印這些符號的打印機(1)在一個規(guī)定的打印區(qū)域內(nèi)精確地打印。打印機(1)有一個將顯示信息轉(zhuǎn)換為符號的轉(zhuǎn)換器和一個向主機設備(90)報告轉(zhuǎn)換后的符號尺寸的裝置。為了打印,主機設備僅僅向打印機(1)發(fā)送特定的指令和表示要被打印的符號的文本數(shù)據(jù)。于是,主機就能夠確認是否可以在特定區(qū)域內(nèi)進行打印。
文檔編號B41J3/00GK101604231SQ2009102038
公開日2009年12月16日 申請日期2001年3月31日 優(yōu)先權(quán)日2000年4月14日
發(fā)明者小圷直彥, 武井貞介 申請人:精工愛普生株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临沧市| 沁阳市| 建水县| 阜康市| 阿拉善盟| 宜宾县| 日喀则市| 彰化市| 临高县| 鸡西市| 海原县| 翼城县| 洛宁县| 佳木斯市| 嫩江县| 临武县| 华容县| 富源县| 定边县| 西盟| 商洛市| 绵阳市| 大新县| 莱阳市| 涞源县| 竹北市| 偃师市| 裕民县| 乌兰浩特市| 宁远县| 天柱县| 馆陶县| 张家口市| 如东县| 旅游| 石首市| 格尔木市| 巴林右旗| 霍林郭勒市| 高清| 龙井市|