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

一種倒置打印方法及裝置的制作方法

文檔序號(hào):6576960閱讀:470來源:國知局
專利名稱:一種倒置打印方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及打印技術(shù)領(lǐng)域,具體的講是一種倒置打印方法及裝置。
背景技術(shù)
打印機(jī)接收的數(shù)據(jù)一般可分為2類文本格式的字符數(shù)據(jù)與圖形格式的打印數(shù) 據(jù)。圖形格式的打印數(shù)據(jù)可以直接打印,不需要打印機(jī)進(jìn)行轉(zhuǎn)換,但數(shù)據(jù)量大、傳輸時(shí)間長 且要求大容量存儲(chǔ)器;文本格式的字符數(shù)據(jù)不能直接打印,必須在打印機(jī)內(nèi)進(jìn)行從文本格 式到打印格式的數(shù)據(jù)轉(zhuǎn)換,但該數(shù)據(jù)量小、傳輸時(shí)間短、需要緩存也比較小。辦公用打印機(jī) 采用圖形格式打印的比較多,而小型打印機(jī),如超市、餐廳中使用的POS機(jī)采用文本格式的 居多。根據(jù)打印頭打印方式的不同,小型打印機(jī)包括按行打印的行模式打印機(jī),如熱敏打 印機(jī)、熱轉(zhuǎn)印打印機(jī)等;按列打印的列式打印機(jī),如單列針式打印機(jī)等。多數(shù)情況下,打印機(jī)按照接收數(shù)據(jù)的順序打印,且打印字符的方向與介質(zhì)前進(jìn)方 向一致,如圖Ia所示。在有些特殊應(yīng)用場合如在廚房中,為節(jié)省空間把打印機(jī)掛在墻上使 用時(shí),為了方便用戶查看打印內(nèi)容,需要把字符以與介質(zhì)前進(jìn)方向相反的方式打印,且先接 收的信息后打印、后接收的信息先打印,如圖Ib所示,即所謂的倒置打印。一般情況下,文本格式的字符數(shù)據(jù)進(jìn)行倒置打印時(shí),一次性對所有字符行的字符 數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,然后對轉(zhuǎn)換完的字符數(shù)據(jù)倒置打印,該處理方法簡單易行,在字符行數(shù) 比較少的情況下還能較好的工作;當(dāng)字符行數(shù)比較多時(shí),由于所生成的字符數(shù)據(jù)量很大,因 而其所需內(nèi)存很大,且處理所有字符行所需時(shí)間較長,大大降低打印機(jī)的性能,特別是當(dāng)字 符行數(shù)很多時(shí)、所生成的字符數(shù)據(jù)量超過其存儲(chǔ)容量時(shí),打印機(jī)甚至不能正常工作。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種倒置打印方法及裝置,實(shí)現(xiàn)文本格式下多行數(shù)據(jù)的倒 置打印,它需要較小的內(nèi)存,并且處理速度快,特別適合成本比較低的POS打印機(jī),用于解 決現(xiàn)有技術(shù)中倒置打印速度慢,內(nèi)存耗費(fèi)大,效率低的問題。為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種倒置打印方法,該方法包括接收字符數(shù)據(jù);將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域;按接收相反順序依次對所述子區(qū)域進(jìn)行倒置打印。根據(jù)本發(fā)明實(shí)施例方法的一個(gè)進(jìn)一步的方面,將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域 具體包括確定所述字符數(shù)據(jù)總的字符行數(shù)n,其中η為自然數(shù);以所述字符行為單位,把所 述字符數(shù)據(jù)劃分成η個(gè)子區(qū)域。根據(jù)本發(fā)明實(shí)施例方法的再一個(gè)進(jìn)一步的方面,在倒置打印所述子區(qū)域中內(nèi)容之 前,還包括將所述子區(qū)域中的字符數(shù)據(jù)轉(zhuǎn)換為點(diǎn)陣數(shù)據(jù)。根據(jù)本發(fā)明實(shí)施例方法的另一個(gè)進(jìn)一步的方面,對所述子區(qū)域進(jìn)行倒置打印具體 包括
a)對所述點(diǎn)陣數(shù)據(jù)以點(diǎn)行/列為單位分為m點(diǎn)行/列并排序;b)逆序打印所述子區(qū)域中一點(diǎn)行/列的逆序點(diǎn)數(shù)據(jù);c)判斷m行/列是否打印完,如果打印完成則結(jié)束,否則返回步驟b)。根據(jù)本發(fā)明實(shí)施例方法的另一個(gè)進(jìn)一步的方面,對所述子區(qū)域進(jìn)行倒置打印還包 括a)對所述點(diǎn)陣數(shù)據(jù)進(jìn)行180度旋轉(zhuǎn);b)打印所述旋轉(zhuǎn)后點(diǎn)陣數(shù)據(jù)。根據(jù)本發(fā)明實(shí)施例方法的另一個(gè)進(jìn)一步的方面,對所述點(diǎn)陣數(shù)據(jù)進(jìn)行180度旋轉(zhuǎn) 的方法具體包括對所述點(diǎn)陣數(shù)據(jù)以點(diǎn)行/列為單位分為m點(diǎn)行/列并排序;顛倒子區(qū)域中所有點(diǎn)行/列間的點(diǎn)行/列數(shù)據(jù);顛倒子區(qū)域中所有點(diǎn)行/列內(nèi)的點(diǎn)數(shù)據(jù)。為了解決上述技術(shù)問題,本發(fā)明實(shí)施例還提供了一種倒置打印裝置,該裝置包 括通信接口,用于接收從主機(jī)發(fā)送過來的字符數(shù)據(jù);全區(qū)域數(shù)據(jù)處理單元,用于將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域并排序;子區(qū)域格式處理單元,逆序?qū)⑺鲎訁^(qū)域中的字符數(shù)據(jù)轉(zhuǎn)換為點(diǎn)陣數(shù)據(jù);子區(qū)域倒置處理單元,對所述子區(qū)域中的點(diǎn)陣數(shù)據(jù)進(jìn)行倒置處理;打印單元,根據(jù)所述倒置后的點(diǎn)陣數(shù)據(jù)進(jìn)行打印。本發(fā)明的實(shí)施例的有益效果在于,本方法可以明顯提高內(nèi)存的利用率、節(jié)省打印 等待時(shí)間。通常處理中,一次性轉(zhuǎn)換整個(gè)區(qū)域內(nèi)的全部數(shù)據(jù)即η個(gè)子區(qū)域數(shù)據(jù),假如每個(gè)子 區(qū)域生成的字符數(shù)據(jù)為m字節(jié),則整個(gè)打印區(qū)域的字符數(shù)據(jù)占用內(nèi)存空間為n*m字節(jié);而采 用本發(fā)明的方案,假如一次只處理一個(gè)子區(qū)域,其占用的內(nèi)存空間為m字節(jié),則本控制方法 可節(jié)省空間約為(n-l)*m個(gè)字節(jié)。如轉(zhuǎn)換一個(gè)子區(qū)域的需要χ毫秒,則現(xiàn)有技術(shù)一次性轉(zhuǎn) 換所有子區(qū)域的數(shù)據(jù)需要n*x毫秒,本發(fā)明方法可減少(n-l)*x毫秒的等待時(shí)間。由此可 見,倒置打印區(qū)域的字符行越多,則本控制方法節(jié)省的內(nèi)存越多、打印等待時(shí)間也越短。


此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,并不 構(gòu)成對本發(fā)明的限定。在附圖中圖Ia所示為現(xiàn)有技術(shù)中正序打印示意圖;圖Ib所示為現(xiàn)有技術(shù)中倒置打印示意圖;圖2所示為本發(fā)明倒置打印方法第一實(shí)施例流程圖;圖3所示為本發(fā)明倒置打印方法第二實(shí)施例流程圖;圖4所示為本發(fā)明行倒置打印方法實(shí)施例流程圖;圖5所示為本發(fā)明倒置打印中180度行旋轉(zhuǎn)倒置打印方法的實(shí)施例流程圖;圖6所示為本發(fā)明倒置打印方法第三實(shí)施例流程圖;圖7所示為本發(fā)明倒置打印中列倒置打印方法實(shí)施例流程圖;圖8所示為本發(fā)明倒置打印中180度列旋轉(zhuǎn)倒置打印方法實(shí)施例流程圖9a所示為本實(shí)施例中行模式正序打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖;圖9b所示為本實(shí)施例中行倒置打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖;圖9c所示為本實(shí)施例中行模式180度行倒置打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖;圖IOa所示為本實(shí)施例中正序打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)的示意圖;圖IOb所示為本實(shí)施例中列倒置打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖;圖IOc所示為本實(shí)施例中180度列倒置打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖;圖11所示為全區(qū)域數(shù)據(jù)處理示意圖;圖12所示為子區(qū)域數(shù)據(jù)處理示意圖;圖13所示為本發(fā)明倒置打印裝置實(shí)施例結(jié)構(gòu)圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施方式和附圖,對 本發(fā)明做進(jìn)一步詳細(xì)說明。在此,本發(fā)明的示意性實(shí)施方式及其說明用于解釋本發(fā)明,但并 不作為對本發(fā)明的限定。本發(fā)明實(shí)施例提供一種倒置打印方法及裝置。以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說 明。如圖2所示為本發(fā)明倒置打印方法第一實(shí)施例流程圖。包括步驟201,接收字符數(shù)據(jù)。步驟202,將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域,將所述復(fù)數(shù)個(gè)子區(qū)域進(jìn)行排序;步驟203,按接收的相反順序?qū)λ鲎訁^(qū)域進(jìn)行倒置打印。作為本發(fā)明的一個(gè)實(shí)施例,在所述步驟202之前還包括一個(gè)判斷用戶是否發(fā)出倒 置打印的指令,如果收到倒置打印指令則進(jìn)入步驟202,否則進(jìn)行常規(guī)的正序打印,即根據(jù) 數(shù)據(jù)接收的先后順序打印出接收到的數(shù)據(jù)。由于正序打印方法屬于公知技術(shù),此處不再贅 述。同時(shí)結(jié)合圖3、圖11和圖12,說明第二實(shí)施例倒置打印方法的處理步驟,本實(shí)施例 適用于行式打印頭的打印裝置。包括步驟301,接收文本格式的字符數(shù)據(jù)。步驟302,打印區(qū)域劃分,對接收數(shù)據(jù)緩沖區(qū)111中的所有數(shù)據(jù)進(jìn)行處理,按照數(shù) 據(jù)的接收順序1105,根據(jù)行寬、換行指令等確定文本數(shù)據(jù)的字符行數(shù)n,其中η為自然數(shù),并 按照從1到η排序,把打印緩沖區(qū)111分為子區(qū)域1101、1102、1103、1104等。步驟303,記錄子區(qū)域?qū)傩?,按照?到η的順序記錄每個(gè)子區(qū)域中字符數(shù)據(jù)在接 收緩沖區(qū)中的首地址、尾地址,即地址屬性;記錄行高、字符放大倍數(shù)等行屬性,地址屬性和 行屬性均屬于打印屬性。步驟304,將所述子區(qū)域中的字符數(shù)據(jù)轉(zhuǎn)換為點(diǎn)陣數(shù)據(jù)。作為本發(fā)明的一個(gè)實(shí)施例,逆序?qū)ψ訁^(qū)域數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,從第η個(gè)子區(qū)域 1104開始,按照從η至1的順序逐個(gè)對子區(qū)域1104、1103、1102、1101中的字符數(shù)據(jù)進(jìn)行處 理,根據(jù)該子區(qū)域字符數(shù)據(jù)在接收緩沖區(qū)中的首地址、尾地址等地址屬性,搜索到該子區(qū)域 的字符數(shù)據(jù);根據(jù)該子區(qū)域的行高、行寬、字符放大倍數(shù)等行屬性確定子區(qū)域點(diǎn)陣數(shù)據(jù)量大 ?。粚ψ訁^(qū)域中的字符數(shù)據(jù)進(jìn)行字符數(shù)據(jù)到點(diǎn)陣數(shù)據(jù)的格式轉(zhuǎn)換,轉(zhuǎn)換完的點(diǎn)陣數(shù)據(jù)存儲(chǔ)在子區(qū)域打印緩沖區(qū)中,由于每個(gè)子區(qū)域的字符行與行的高度不一定相同,每個(gè)子區(qū)域生 成的點(diǎn)陣數(shù)據(jù)量大小也不一定相同,例如因?yàn)樽址械母叨炔煌?,第η個(gè)子區(qū)域1104生成 的點(diǎn)陣數(shù)據(jù)1206比第η-1個(gè)子區(qū)域1103生成的點(diǎn)陣數(shù)據(jù)1207多。作為本發(fā)明的一個(gè)實(shí)施例,每次轉(zhuǎn)換的子區(qū)域數(shù)據(jù)個(gè)數(shù),可以根據(jù)打印機(jī)緩存的 容量調(diào)整,如1個(gè)、2個(gè)等,由于點(diǎn)陣數(shù)據(jù)量比較大,最節(jié)省內(nèi)存的情況下每次只轉(zhuǎn)換一個(gè)子 區(qū)域,即每轉(zhuǎn)換一個(gè)子區(qū)域字符數(shù)據(jù)就倒置打印該子區(qū)域的點(diǎn)陣數(shù)據(jù),然后再對下一個(gè)子 區(qū)域進(jìn)行格式轉(zhuǎn)換,依次循環(huán);當(dāng)需要減少打印等待時(shí)間時(shí),要使用多個(gè)點(diǎn)陣數(shù)據(jù)緩沖區(qū), 每次可以轉(zhuǎn)換多個(gè)子區(qū)域字符數(shù)據(jù)。步驟305,選擇用戶的子區(qū)域倒置打印方式,可以根據(jù)需要,選擇適合的打印方式 行倒置打印或180度行旋轉(zhuǎn)倒置打印。如果選擇行倒置打印,則進(jìn)入步驟306 ;如果選擇180 度行旋轉(zhuǎn)倒置打印,則進(jìn)入步驟307。
步驟306,對所述子區(qū)域打印緩沖區(qū)內(nèi)的點(diǎn)陣數(shù)據(jù)進(jìn)行倒置打印。步驟307,對所述子區(qū)域打印緩沖區(qū)內(nèi)的點(diǎn)陣數(shù)據(jù)進(jìn)行180度行旋轉(zhuǎn)倒置打印。步驟308,判斷所有子區(qū)域是否都打印完,如果沒有打印完成則返回步驟304,繼 續(xù)下一個(gè)子區(qū)域的處理,否則結(jié)束。子區(qū)域的處理過程如圖12所示,按照1210的方向,先倒置打印第η個(gè)子區(qū)域的點(diǎn) 陣數(shù)據(jù)1206,然后倒置打印第η-1個(gè)子區(qū)域的點(diǎn)陣數(shù)據(jù)1207,依次打印,直到打印第1個(gè)子 區(qū)域的點(diǎn)陣數(shù)據(jù)1209,最終的打印結(jié)果如122所示,實(shí)現(xiàn)了全區(qū)域接收數(shù)據(jù)111的倒置打 印。如圖4所示為本發(fā)明行倒置打印方法實(shí)施例流程圖。包括步驟401,以打印單元每次可打印的點(diǎn)行數(shù)據(jù)為單位劃分子區(qū)域點(diǎn)陣數(shù)據(jù),按 照從上到下的順序?qū)c(diǎn)行數(shù)據(jù)排列。其中,每個(gè)字符行點(diǎn)陣數(shù)據(jù)都由若干點(diǎn)行組成。下面結(jié)合圖9a、圖9b說明子區(qū)域點(diǎn)行劃分及數(shù)據(jù)的發(fā)送順序。圖9a所示為本實(shí) 施例中正序打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖,圖9b所示為本實(shí)施例中行倒置打印時(shí)子區(qū)域 點(diǎn)陣數(shù)據(jù)示意圖。以打印單元每行可打印k個(gè)點(diǎn)為例,在圖9a中打印緩沖區(qū)90中存儲(chǔ)m 點(diǎn)行、每行k個(gè)點(diǎn)的點(diǎn)陣數(shù)據(jù),打印緩沖區(qū)內(nèi)行間數(shù)據(jù)的發(fā)送順序如901所示;行內(nèi)數(shù)據(jù)的 發(fā)送順序?yàn)?02所示。要實(shí)現(xiàn)打印緩沖區(qū)內(nèi)字符數(shù)據(jù)的倒置打印,首先要上下顛倒緩沖區(qū) 內(nèi)行間數(shù)據(jù)的發(fā)送順序,從第1至m行變?yōu)閺牡趍至1行,如圖9b的903所示;然后,再顛 倒行內(nèi)數(shù)據(jù)的發(fā)送順序,從第1至k點(diǎn)變?yōu)閺牡趉至1點(diǎn),如圖9b的904所示。步驟402,逆序讀取一點(diǎn)行數(shù)據(jù)。即如圖9b中903的方向,按照第m至1行的順 序,從第m行開始,每次讀取一點(diǎn)行數(shù)據(jù)。步驟403,將點(diǎn)行內(nèi)的點(diǎn)數(shù)據(jù)逆序發(fā)送給打印單元。如圖9b中904所示的方向,按 照從第k至1點(diǎn)的順序,依次發(fā)送該點(diǎn)行內(nèi)的點(diǎn)數(shù)據(jù)步驟404,打印該點(diǎn)行數(shù)據(jù)。步驟405,判斷所有行是否打印完,如果打印完成則結(jié)束,否則返回步驟402。如圖5所示為本發(fā)明倒置打印中180度行旋轉(zhuǎn)倒置打印方法的實(shí)施例流程圖。包括步驟501,以點(diǎn)行為單位劃分子區(qū)域點(diǎn)陣數(shù)據(jù),按照從上到下的順序?qū)c(diǎn)行數(shù) 據(jù)排序。其中,每個(gè)字符行的點(diǎn)陣數(shù)據(jù)都由若干點(diǎn)行組成。步驟502,上下顛倒子區(qū)域中所有點(diǎn)行數(shù)據(jù)。
步驟503,左右顛倒子區(qū)域中所有點(diǎn)行的行內(nèi)點(diǎn)數(shù)據(jù)。圖9a所示為本實(shí)施例中行模式正序打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖,圖9c所示為 本實(shí)施例中行模式180度行倒置打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖。把圖9a中打印緩沖區(qū)90 內(nèi)的m行*k點(diǎn)的數(shù)據(jù)進(jìn)行180度旋轉(zhuǎn),轉(zhuǎn)換成圖9c中打印緩沖區(qū)92中的m行*k點(diǎn)的數(shù) 據(jù),即實(shí)現(xiàn)緩沖區(qū)內(nèi)行間數(shù)據(jù)的上下顛倒、行內(nèi)數(shù)據(jù)的左右顛倒。步驟504,按照圖9c中905的方向,按照第1至m行的順序(實(shí)際點(diǎn)行數(shù)據(jù)的第m 行至1行),從第1行開始,逐行讀取一點(diǎn)行數(shù)據(jù)。步驟505,按照圖9c中906的方向,按照第1至k點(diǎn)的順序(實(shí)際數(shù)據(jù)的第k點(diǎn)至 1點(diǎn)的順序),依次發(fā)送該點(diǎn)行數(shù)據(jù)。步驟506,打印該點(diǎn)行數(shù)據(jù)。步驟507,判斷所有點(diǎn)行是否打印完,如果打印完成則結(jié)束,否則返回步驟504。如圖6所示為本發(fā)明倒置打印方法第三實(shí)施例流程圖。
本實(shí)施例適用于列式打印頭的打印裝置,和第二實(shí)施例的主要步驟基本相同,區(qū) 別在于實(shí)施子區(qū)域數(shù)據(jù)倒置打印時(shí)的具體實(shí)施方式
不同。包括步驟601,接收文本格式的字符數(shù)據(jù)。步驟602,打印區(qū)域劃分,對接收數(shù)據(jù)緩沖區(qū)中的所有數(shù)據(jù)進(jìn)行處理,按照數(shù)據(jù)的 接收順序,根據(jù)行寬、換行指令等確定文本數(shù)據(jù)的字符行數(shù)n,其中η為自然數(shù),并按照從1 到η排序。步驟603,記錄子區(qū)域?qū)傩裕凑諒?到η的順序記錄每個(gè)子區(qū)域中字符數(shù)據(jù)在接 收緩沖區(qū)中的首地址、尾地址,即地址屬性;記錄行高、字符放大倍數(shù)等行屬性,地址屬性和 行屬性均屬于打印屬性。步驟604,逆序?qū)ψ訁^(qū)域數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,從第η個(gè)子區(qū)域開始,按照從η至1的 順序逐個(gè)對子區(qū)域字符數(shù)據(jù)進(jìn)行處理,根據(jù)該子區(qū)域字符數(shù)據(jù)在接收緩沖區(qū)中的首地址、 尾地址等地址屬性,搜索到該子區(qū)域的字符數(shù)據(jù);根據(jù)該子區(qū)域的行高、行寬、字符放大倍 數(shù)等行屬性確定子區(qū)域點(diǎn)陣數(shù)據(jù)量大??;對子區(qū)域中的字符數(shù)據(jù)進(jìn)行字符數(shù)據(jù)到點(diǎn)陣數(shù)據(jù) 的格式轉(zhuǎn)換,轉(zhuǎn)換完的點(diǎn)陣數(shù)據(jù)存儲(chǔ)在子區(qū)域打印緩沖區(qū)中,由于每個(gè)子區(qū)域的字符行與 行的高度不一定相同,每個(gè)子區(qū)域生成的點(diǎn)陣數(shù)據(jù)量大小也不一定相同。步驟605,選擇用戶的子區(qū)域倒置打印方式,可以根據(jù)需要,選擇適合的打印方式 列倒置打印或180度列旋轉(zhuǎn)倒置打印。如果選擇列倒置打印,則進(jìn)入步驟606 ;如果選擇180 度列旋轉(zhuǎn)打印,則進(jìn)入步驟607。步驟606,對所述子區(qū)域打印緩沖區(qū)內(nèi)的點(diǎn)陣數(shù)據(jù)進(jìn)行列倒置打印。步驟607,對所述子區(qū)域打印緩沖區(qū)內(nèi)的點(diǎn)陣數(shù)據(jù)進(jìn)行180度列旋轉(zhuǎn)倒置打印。步驟608,判斷所有子區(qū)域是否都打印完,如果沒有打印完成則返回步驟604,否 則結(jié)束。如圖7所示為本發(fā)明倒置打印中列倒置打印方法實(shí)施例流程圖。包括步驟701,以打印單元每次可打印的點(diǎn)列數(shù)據(jù)為單位劃分子區(qū)域點(diǎn)陣數(shù)據(jù),按 照從左到右的順序?qū)c(diǎn)列數(shù)據(jù)排序。下面結(jié)合圖10a、圖IOb說明子區(qū)域點(diǎn)列劃分及數(shù)據(jù)的發(fā)送順序。圖IOa所示為 本實(shí)施例中正序打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)的示意圖,圖IOb所示為本實(shí)施例中列倒置打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖。以打印單元每列可打印m個(gè)點(diǎn)為例,在圖IOa中打印緩沖區(qū)100 中存儲(chǔ)k點(diǎn)列、每列m點(diǎn)的點(diǎn)陣數(shù)據(jù),打印緩沖區(qū)內(nèi)列間數(shù)據(jù)的發(fā)送順序如1001所示;列內(nèi) 數(shù)據(jù)的發(fā)送順序?yàn)?002所示。要實(shí)現(xiàn)打印緩沖區(qū)內(nèi)字符數(shù)據(jù)的倒置打印,首先要左右顛倒 緩沖區(qū)內(nèi)列間數(shù)據(jù)的發(fā)送順序,從第1至k列變?yōu)閺牡趉至1列,如圖IOb的1003所示;然 后,顛倒列內(nèi)數(shù)據(jù)的發(fā)送順序,從第1至m點(diǎn)變?yōu)閺牡趍至1點(diǎn),如圖IOb的1004所示。步驟702,逆序讀取一點(diǎn)列數(shù)據(jù)。即如圖IOb中1003的方向,按照第k至1列的順 序,從第k列開始,每次讀取一點(diǎn)列數(shù)據(jù)。步驟703,將所述點(diǎn)列的點(diǎn)數(shù)據(jù)逆序發(fā)送給打印單元。如圖IOb中1004所示的方 向,按照從第m至1點(diǎn)的順序,依次發(fā)送該點(diǎn)列數(shù)據(jù)步驟704,打印該點(diǎn)列數(shù)據(jù)。步驟705,判斷所有點(diǎn)列是否打印完,如果打印完成則結(jié)束,否則返回步驟702。如圖8所示為本發(fā)明倒置打印中180度列旋轉(zhuǎn)倒置打印方法實(shí)施例流程圖。包括步驟801,以點(diǎn)列為單位劃分子區(qū)域點(diǎn)陣數(shù)據(jù),按照從左到右的順序?qū)c(diǎn)列數(shù) 據(jù)排序。步驟802,左右顛倒子區(qū)域中所有點(diǎn)列數(shù)據(jù)。步驟803,上下顛倒子區(qū)域中所有點(diǎn)列內(nèi)的點(diǎn)數(shù)據(jù)。圖IOa所示為本實(shí)施例中正序打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖,圖IOc所示為本實(shí) 施例中180度列倒置打印時(shí)子區(qū)域點(diǎn)陣數(shù)據(jù)示意圖。把圖IOa中打印緩沖區(qū)100內(nèi)的k列 *m點(diǎn)的點(diǎn)陣數(shù)據(jù)進(jìn)行180度旋轉(zhuǎn),轉(zhuǎn)換成圖IOc中打印緩沖區(qū)102中的k列*m點(diǎn)的點(diǎn)陣數(shù) 據(jù),即實(shí)現(xiàn)緩沖區(qū)內(nèi)點(diǎn)列數(shù)據(jù)的左右顛倒、列內(nèi)點(diǎn)數(shù)據(jù)的上下顛倒。步驟804,按照圖IOc中1005的方向,按照第1至k列的順序(實(shí)際數(shù)據(jù)的第k至 1列),從第1列開始,依次讀取一點(diǎn)列數(shù)據(jù)。步驟805,按照圖IOc中1006的方向,按照第1至m點(diǎn)的順序(實(shí)際數(shù)據(jù)的第m至 1點(diǎn))發(fā)送一點(diǎn)列數(shù)據(jù)。步驟806,打印該點(diǎn)列字符數(shù)據(jù)。步驟807,判斷所有點(diǎn)列是否打印完,如果打印完成則結(jié)束,否則返回步驟804。如圖13所示為本發(fā)明倒置打印裝置實(shí)施例結(jié)構(gòu)圖。包括通信接口 1301,接收緩沖區(qū)1302,全區(qū)域數(shù)據(jù)處理單元1303,子區(qū)域格式處 理單元1304,子區(qū)域倒置處理單元1305,打印單元1306。通信接口 1301,用于接收從主機(jī)發(fā)送過來的文本格式的字符數(shù)據(jù)并把字符數(shù)據(jù)存 儲(chǔ)在接收緩沖區(qū)1302中。接收緩沖區(qū)1302,用于存儲(chǔ)所述字符數(shù)據(jù)。全區(qū)域數(shù)據(jù)處理單元1303,用于將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域,將所述復(fù)數(shù) 個(gè)子區(qū)域進(jìn)行排序。對接收的字符數(shù)據(jù)進(jìn)行檢測,每接收一行字符數(shù)據(jù)則生成該行數(shù)據(jù)的各種屬性并 記錄該屬性確定該行字符數(shù)據(jù)在整個(gè)接收緩沖區(qū)內(nèi)的首地址、尾地址,即地址屬性;根據(jù) 接收的行高等生成該行字符數(shù)據(jù)的行屬性,存儲(chǔ)該行字符數(shù)據(jù)的地址屬性及行屬性。子區(qū)域格式處理單元1304,以字符行為單位劃分接收字符數(shù)據(jù)為η個(gè)子區(qū)域并進(jìn) 行從1至η的排序,按照從η至1的順序,對每行字符數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換根據(jù)子區(qū)域字符數(shù)據(jù)的地址屬性,搜索到該子區(qū)域的字符數(shù)據(jù);根據(jù)該子區(qū)域的行屬性對子區(qū)域中的文本格 式數(shù)據(jù)進(jìn)行字符數(shù)據(jù)到點(diǎn)陣數(shù)據(jù)的轉(zhuǎn)換,轉(zhuǎn)換完的點(diǎn)陣數(shù)據(jù)存儲(chǔ)在子區(qū)域打印緩沖區(qū)中。子區(qū)域倒置處理單元1305,對存儲(chǔ)在子區(qū)域緩沖區(qū)中的點(diǎn)陣數(shù)據(jù)進(jìn)行倒置處理并 把處理過的點(diǎn)陣數(shù)據(jù)按行/列發(fā)送給打印單元。打印單元1306,按行/列打印所述點(diǎn)陣數(shù)據(jù)。作為本發(fā)明的一個(gè)實(shí)施例,所述子區(qū)域倒置處理單元1305,可以按照每處理一行 /列點(diǎn)陣數(shù)據(jù)就將該行/列點(diǎn)陣數(shù)據(jù)傳送給打印單元1306,進(jìn)行打印處理按點(diǎn)行/列方 式劃分打印緩沖區(qū)中的點(diǎn)陣數(shù)據(jù),逆序讀取一行/列點(diǎn)陣數(shù)據(jù),逆序發(fā)送該點(diǎn)行/列的點(diǎn)數(shù) 據(jù),打印該點(diǎn)行/列數(shù)據(jù);然后再逆序讀取下一點(diǎn)行/列數(shù)據(jù),將點(diǎn)行/列中的點(diǎn)數(shù)據(jù)逆序 發(fā)送給打印單元1306,進(jìn)行打印處理,直至打印緩沖區(qū)中的所有點(diǎn)行/列數(shù)據(jù)全部打印完。作為本發(fā)明的一個(gè)實(shí)施例,所述子區(qū)域倒置處理單元1305,按 照點(diǎn)行/列的方式 劃分點(diǎn)陣數(shù)據(jù),然后一次性對打印緩沖區(qū)中的所有行/列點(diǎn)陣數(shù)據(jù)進(jìn)行180旋轉(zhuǎn),再逐行/ 列讀取每一點(diǎn)行/列數(shù)據(jù),發(fā)送該點(diǎn)行/列的點(diǎn)數(shù)據(jù)并打印該點(diǎn)行/列數(shù)據(jù),直至打印緩沖 區(qū)中的所有點(diǎn)行/列數(shù)據(jù)全部打印完。180旋轉(zhuǎn)點(diǎn)陣數(shù)據(jù)的方法為當(dāng)打印單元1306按照 點(diǎn)行來打印數(shù)據(jù)時(shí),按點(diǎn)行劃分點(diǎn)陣數(shù)據(jù),先上下顛倒子區(qū)域中所有點(diǎn)行間的點(diǎn)行數(shù)據(jù),再 左右顛倒所有點(diǎn)行內(nèi)的點(diǎn)數(shù)據(jù);當(dāng)打印單元1306按照點(diǎn)列來打印數(shù)據(jù)時(shí),按點(diǎn)列劃分點(diǎn)陣 數(shù)據(jù),先左右顛倒子區(qū)域中所有點(diǎn)列間的點(diǎn)列數(shù)據(jù),再上下顛倒所有點(diǎn)列內(nèi)的點(diǎn)數(shù)據(jù)。本發(fā)明的實(shí)施例的有益效果在于,本方法可以明顯提高內(nèi)存的利用率、節(jié)省打印 等待時(shí)間?,F(xiàn)有技術(shù)中,一次性轉(zhuǎn)換整個(gè)區(qū)域內(nèi)的全部字符數(shù)據(jù)即η個(gè)子區(qū)域字符數(shù)據(jù),假 如每個(gè)子區(qū)域生成的字符數(shù)據(jù)為m字節(jié),則整個(gè)打印區(qū)域的字符數(shù)據(jù)占用內(nèi)存空間為n*m 字節(jié);而采用本發(fā)明的方案,假如一次只處理一個(gè)子區(qū)域,其占用的內(nèi)存空間為m字節(jié),則 本控制方法可節(jié)省空間約為(n-l)*m個(gè)字節(jié)。如轉(zhuǎn)換一個(gè)子區(qū)域的字符數(shù)據(jù)需要χ毫秒, 則現(xiàn)有技術(shù)一次性轉(zhuǎn)換所有子區(qū)域的字符數(shù)據(jù)需要n*x毫秒,本發(fā)明方法可減少(n-l)*x 毫秒的等待時(shí)間。由此可見,倒置打印區(qū)域的字符行越多,則本控制方法節(jié)省的內(nèi)存越多、 打印等待時(shí)間也越短。以上所述的具體實(shí)施方式
,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步 詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式
而已,并不用于限定本發(fā)明 的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含 在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種倒置打印方法,其特征在于該方法包括接收字符數(shù)據(jù);將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域;按接收相反順序依次對所述子區(qū)域進(jìn)行倒置打印。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域具體 包括確定所述字符數(shù)據(jù)總的字符行數(shù)n,其中n為自然數(shù);以所述字符行為單位,把所述字 符數(shù)據(jù)劃分成n個(gè)子區(qū)域。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在倒置打印所述子區(qū)域中內(nèi)容之前,還包 括將所述子區(qū)域中的字符數(shù)據(jù)轉(zhuǎn)換為點(diǎn)陣數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,對所述子區(qū)域進(jìn)行倒置打印具體包括a)對所述點(diǎn)陣數(shù)據(jù)以點(diǎn)行/列為單位分為m點(diǎn)行/列并排序;b)逆序打印所述子區(qū)域中一點(diǎn)行/列的逆序點(diǎn)數(shù)據(jù);c)判斷m行/列是否打印完,如果打印完成則結(jié)束,否則返回步驟b)。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,對所述子區(qū)域進(jìn)行倒置打印還包括a)對所述點(diǎn)陣數(shù)據(jù)進(jìn)行180度旋轉(zhuǎn);b)打印所述旋轉(zhuǎn)后點(diǎn)陣數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,對所述點(diǎn)陣數(shù)據(jù)進(jìn)行180度旋轉(zhuǎn)的方法具 體包括對所述點(diǎn)陣數(shù)據(jù)以點(diǎn)行/列為單位分為m點(diǎn)行/列并排序; 顛倒子區(qū)域中所有點(diǎn)行/列間的點(diǎn)行/列數(shù)據(jù); 顛倒子區(qū)域中所有點(diǎn)行/列內(nèi)的點(diǎn)數(shù)據(jù)。
7.一種倒置打印裝置,其特征在于該裝置包括 通信接口,用于接收從主機(jī)發(fā)送過來的字符數(shù)據(jù);全區(qū)域數(shù)據(jù)處理單元,用于將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域并排序; 子區(qū)域格式處理單元,逆序?qū)⑺鲎訁^(qū)域中的字符數(shù)據(jù)轉(zhuǎn)換為點(diǎn)陣數(shù)據(jù); 子區(qū)域倒置處理單元,對所述子區(qū)域中的點(diǎn)陣數(shù)據(jù)進(jìn)行倒置處理; 打印單元,根據(jù)所述倒置后的點(diǎn)陣數(shù)據(jù)進(jìn)行打印。
全文摘要
本發(fā)明涉及打印技術(shù)領(lǐng)域,為了解決現(xiàn)有技術(shù)中倒置打印效率不高的問題,提供了一種倒置打印方法及裝置,方法包括接收字符數(shù)據(jù);將所述字符數(shù)據(jù)分為復(fù)數(shù)個(gè)子區(qū)域;按接收相反順序依次對所述子區(qū)域進(jìn)行倒置打印。本發(fā)明的有益效果在于,提高倒置打印的效率,并節(jié)省內(nèi)存開銷。
文檔編號(hào)G06F3/12GK101833425SQ20091011899
公開日2010年9月15日 申請日期2009年3月11日 優(yōu)先權(quán)日2009年3月11日
發(fā)明者丁進(jìn)峰, 張新平, 徐偉偉, 楊現(xiàn)剛, 許加波 申請人:山東新北洋信息技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
平阴县| 伽师县| 营口市| 安新县| 乌拉特后旗| 开封市| 怀柔区| 响水县| 天峨县| 安平县| 余姚市| 新兴县| 桃江县| 江门市| 本溪| 开江县| 南川市| 广东省| 尉犁县| 平定县| 南和县| 延津县| 丰城市| 申扎县| 漾濞| 新密市| 浦城县| 确山县| 通榆县| 铜鼓县| 乌苏市| 西乌| 遂昌县| 印江| 三门县| 沈阳市| 新闻| 门源| 敖汉旗| 曲水县| 大庆市|