雙面打印控制方法及裝置和雙面打印的制造方法
【專利摘要】本發(fā)明公開了一種雙面打印控制方法及裝置和雙面打印機(jī)。其中,雙面打印控制方法包括:在接收打印數(shù)據(jù)之后,計算打印數(shù)據(jù)的長度;計算第一參考長度和第二參考長度;將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù);以及在第一面打印第一數(shù)據(jù),在第二面打印第二數(shù)據(jù)。通過本發(fā)明,解決了相關(guān)技術(shù)中使用卷筒紙進(jìn)行雙面打印時容易造成紙張浪費的問題,進(jìn)而能夠提高介質(zhì)第二面的利用率以及節(jié)省介質(zhì)。
【專利說明】雙面打印控制方法及裝置和雙面打印機(jī)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及打印領(lǐng)域,具體而言,涉及一種雙面打印控制方法及裝置和雙面打印機(jī)。
【背景技術(shù)】
[0002]應(yīng)用于超市、商場等使用卷筒連續(xù)紙打印票據(jù)的雙面打印機(jī),其包括相對設(shè)置的第一打印頭和第二打印頭,其中,第一打印頭用于在介質(zhì)的第一面(如正面)打印,第二打印頭用于在介質(zhì)的第二面(如背面)打印。該種雙面打印機(jī)通常具有兩種工作模式,第一種模式是打印機(jī)接收的打印數(shù)據(jù)包括位于每行打印數(shù)據(jù)前用于區(qū)分第一打印數(shù)據(jù)和第二打印數(shù)據(jù)的數(shù)據(jù)標(biāo)志,其中,第一打印數(shù)據(jù)由第一打印頭打印在介質(zhì)的第一面,第二打印數(shù)據(jù)由第二打印頭打印在介質(zhì)的第二面,打印機(jī)的控制器通過讀取每行打印數(shù)據(jù)前的數(shù)據(jù)標(biāo)志確定將該行打印數(shù)據(jù)發(fā)送給相應(yīng)的打印頭打印;第二種模式是打印機(jī)接收到的打印數(shù)據(jù)不包括位于每行打印數(shù)據(jù)前用于區(qū)分第一打印數(shù)據(jù)和第二打印數(shù)據(jù)的數(shù)據(jù)標(biāo)志,打印機(jī)的控制器根據(jù)設(shè)定規(guī)則自動把接收的打印數(shù)據(jù)分解為打印在介質(zhì)第一面的第一打印數(shù)據(jù)和打印在介質(zhì)第二面的第二打印數(shù)據(jù)。
[0003]美國專利US20090147312公開了一種自動將打印數(shù)據(jù)分解為兩面打印數(shù)據(jù)的雙面打印控制方法和雙面打印機(jī),雙面打印機(jī)在上述第二種模式工作時,如圖1所示,根據(jù)設(shè)置的固定頁面長度hy對打印長度為dy的打印數(shù)據(jù)30進(jìn)行劃分,如果dy>hy,則將打印數(shù)據(jù)30劃分為打印長度為hy的正面數(shù)據(jù)31和打印長度為(dy-hy)的背面數(shù)據(jù)32 ;如果dy < hy,則不對打印數(shù)據(jù)進(jìn)行劃分,而是將所有打印數(shù)據(jù)打印在第一面,即正面數(shù)據(jù)的打印長度hy等于dy,背面無打印數(shù)據(jù)。由于實際使用過程中打印數(shù)據(jù)30的打印長度為變量,如果以固定頁面長度hy劃分打印數(shù)據(jù),容易造成介質(zhì)的浪費。比如,當(dāng)打印機(jī)應(yīng)用在超市中打印交易明細(xì)時,打印數(shù)據(jù)30的打印長度隨顧客購買商品數(shù)量的變化而變化,假設(shè)固定頁面長度hy=180mm,當(dāng)打印數(shù)據(jù)30的打印長度dy=360mm時,由打印數(shù)據(jù)30劃分的打印長度均為180mm的兩面打印數(shù)據(jù)分別打印在介質(zhì)的正面和背面,這時介質(zhì)的正面和背面均被充分利用;當(dāng)打印數(shù)據(jù)30的打印長度dy=200mm時,打印數(shù)據(jù)30被分為打印長度為180mm的正面數(shù)據(jù)和打印長度為20mm的背面數(shù)據(jù),由于介質(zhì)的背面僅有20mm的區(qū)域打印了數(shù)據(jù),剩余160mm為空白區(qū)域,因此,造成介質(zhì)的浪費。
[0004]針對相關(guān)技術(shù)中使用卷筒紙進(jìn)行雙面打印時容易造成紙張浪費的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的在于提供一種雙面打印控制方法及裝置和雙面打印機(jī),以解決相關(guān)技術(shù)中使用卷筒紙進(jìn)行雙面打印時容易造成紙張浪費的問題。
[0006]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了 一種雙面打印控制方法。該雙面打印控制方法包括:在接收打印數(shù)據(jù)之后,計算打印數(shù)據(jù)的長度;計算第一參考長度和第二參考長度,其中,第一參考長度為第一面的打印長度,第二參考長度為第二面的打印長度,第一參考長度和第二參考長度之和等于打印數(shù)據(jù)的打印長度,第一參考長度和第二參考長度之差等于第一面的打印起始位置和第二面的打印起始位置之間的距離;將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù);以及在第一面打印第一數(shù)據(jù),在第二面打印第二數(shù)據(jù)。
[0007]進(jìn)一步地,第一面的打印起始位置和第二面的打印起始位置之差小于等于在介質(zhì)輸送方向上第一打印頭和第二打印頭之間的距離,第一打印頭用于在第一面上打印第一數(shù)據(jù),第二打印頭用于在第二面上打印第二數(shù)據(jù)。
[0008]進(jìn)一步地,在計算第一參考長度和第二參考長度之后,以及在將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù)之前,上述方法還包括:判斷上拆分區(qū)域內(nèi)是否有空白點行,其中,上拆分區(qū)域為參考拆分位置之前打印長度為AL的打印數(shù)據(jù),參考拆分位置為按照打印長度為第一參考長度的第一數(shù)據(jù)和打印長度為第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置,在判斷出上拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Lup,其中,最小打印長度Lup為上拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值,判斷下拆分區(qū)域內(nèi)是否有空白點行,其中,下拆分區(qū)域為參考拆分位置之后打印長度為AL的打印數(shù)據(jù),參考拆分位置為按照打印長度為第一參考長度的第一數(shù)據(jù)和打印長度為第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置,在判斷出下拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Ldw,其中,最小打印長度Ldw為下拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值,判斷Lup和Ldw是否均大于AL ;當(dāng)Lup和Ldw均大于Λ L時,將第一參考長度作為第一優(yōu)選長度,當(dāng)Lup和Ldw不均大于Λ L時,判斷Lup是否小于Ldw ;當(dāng)Lup小于Ldw時,將第一參考長度和Lup的差作為第一優(yōu)選長度;以及當(dāng)Lup不小于Ldw時,將第一參考長度和Ldw的和作為第一優(yōu)選長度,其中,將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù)包括:將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一優(yōu)選長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二優(yōu)選長度的第二數(shù)據(jù),其中,第二優(yōu)選長度為打印數(shù)據(jù)的長度與第一優(yōu)選長度的差。
[0009]進(jìn)一步地,在判斷出上拆分區(qū)域內(nèi)沒有空白點行時,將大于AL的值作為Lup的值,在判斷出下拆分區(qū)域內(nèi)沒有空白點行時,將大于AL的值作為Ldw的值。
[0010]進(jìn)一步地,將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù)包括:將打印數(shù)據(jù)拆分為打印長度為第一參考長度的第一數(shù)據(jù)和打印長度為第二參考長度的第二數(shù)據(jù)。
[0011]進(jìn)一步地,打印數(shù)據(jù)為字符打印數(shù)據(jù),上述雙面打印控制方法還包括:對字符打印數(shù)據(jù)進(jìn)行區(qū)域劃分,生成第一長度參考表,其中,第一長度參考表為打印數(shù)據(jù)的所有可能拆分位置的打印長度列表,可能拆分位置為相鄰區(qū)域的交界處,其中,計算第一參考長度之后,上述方法還包括:根據(jù)第一參考長度在第一長度參考表中進(jìn)行查表,得到與第一參考長度最接近的長度,作為第一優(yōu)選長度;以及將打印數(shù)據(jù)的長度與第一優(yōu)選長度的差作為第二優(yōu)選長度,其中,將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù)包括:將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一優(yōu)選長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二優(yōu)選長度的第二數(shù)據(jù)。
[0012]進(jìn)一步地,對字符打印數(shù)據(jù)進(jìn)行區(qū)域劃分,生成第一長度參考表包括:根據(jù)字符打印數(shù)據(jù)定義指令的不同,把打印數(shù)據(jù)的打印輸出劃分為不同的區(qū)域,每一個區(qū)域由連續(xù)的相同類型指令生成;以及在介質(zhì)移動的方向上,按照不同的圖像、條碼、字符行再對每個打印區(qū)域進(jìn)行劃分,劃分為不同的子區(qū)域,生成第一長度參考表,其中,第一長度參考表為打印數(shù)據(jù)的所有可能拆分位置的打印長度列表,可能拆分位置為相鄰區(qū)域的交界處或相鄰子區(qū)域的交界處。
[0013]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了 一種雙面打印控制裝置。該雙面打印控制裝置包括:第一計算單元,用于在接收打印數(shù)據(jù)之后,計算打印數(shù)據(jù)的長度;第二計算單元,用于計算第一參考長度和第二參考長度,其中,第一參考長度為第一面的打印長度,第二參考長度為第二面的打印長度,第一參考長度和第二參考長度之和等于打印數(shù)據(jù)的打印長度,第一參考長度和第二參考長度之差等于第一面的打印起始位置和第二面的打印起始位置之間的距離;拆分單元,用于將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù);以及打印單元,用于在第一面打印第一數(shù)據(jù),在第二面打印第二數(shù)據(jù)。
[0014]進(jìn)一步地,雙面打印控制裝置還包括:第一判斷單元,用于判斷上拆分區(qū)域內(nèi)是否有空白點行,其中,上拆分區(qū)域為參考拆分位置之前打印長度為AL的打印數(shù)據(jù),參考拆分位置為按照打印長度為第一參考長度的第一數(shù)據(jù)和打印長度為第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置,第一獲取單元,用于在判斷出上拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Lup,其中,最小打印長度Lup為上拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值,第二判斷單元,用于判斷下拆分區(qū)域內(nèi)是否有空白點行,其中,下拆分區(qū)域為參考拆分位置之后打印長度為AL的打印數(shù)據(jù),參考拆分位置為按照打印長度為第一參考長度的第一數(shù)據(jù)和打印長度為第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置,第二獲取單元,用于在判斷出下拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Ldw,其中,最小打印長度Ldw為下拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值,第三判斷單元,用于判斷Lup和Ldw是否均大于Δ L ;第一確定單元,用于當(dāng)Lup和Ldw均大于AL時,將第一參考長度作為第一優(yōu)選長度,第四判斷單元,用于當(dāng)Lup和Ldw不均大于Λ L時,判斷Lup是否小于Ldw ;第二確定單元,用于當(dāng)Lup小于Ldw時,將第一參考長度和Lup的差作為第一優(yōu)選長度;以及第三確定單元,用于當(dāng)Lup不小于Ldw時,將第一參考長度和Ldw的和作為第一優(yōu)選長度,其中,拆分單元用于將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一優(yōu)選長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二優(yōu)選長度的第二數(shù)據(jù),其中,第二優(yōu)選長度為打印數(shù)據(jù)的長度與第一優(yōu)選長度的差。
[0015]為了實現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種雙面打印機(jī)。該雙面打印機(jī)包括:通信接口,用于接收打印數(shù)據(jù);第一打印頭,用于在介質(zhì)的第一面打印第一數(shù)據(jù);第二打印頭,用于在介質(zhì)的第二面打印第二數(shù)據(jù);控制器,用于在接收打印數(shù)據(jù)之后,計算打印數(shù)據(jù)的長度;計算第一參考長度和第二參考長度,其中,第一參考長度為第一面的打印長度,第二參考長度為第二面的打印長度,第一參考長度和第二參考長度之和等于打印數(shù)據(jù)的打印長度,第一參考長度和第二參考長度之差不大于第一打印頭和第二打印頭之間的距離;將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù);以及控制第一打印頭在第一面打印第一數(shù)據(jù),控制第二打印頭在第二面打印第二數(shù)據(jù)。
[0016]通過本發(fā)明,分別計算用于在介質(zhì)的第一面和第二面打印的數(shù)據(jù)的第一參考長度和第二參考長度,且基于計算的參考長度對打印數(shù)據(jù)進(jìn)行拆分,解決了相關(guān)技術(shù)中使用卷筒紙進(jìn)行雙面打印時容易造成紙張浪費的問題,進(jìn)而達(dá)到了提高介質(zhì)第二面的利用率以及節(jié)省介質(zhì)的效果。
【專利附圖】
【附圖說明】
[0017]構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0018]圖1是現(xiàn)有技術(shù)的對打印數(shù)據(jù)進(jìn)行拆分的示意圖;
[0019]圖2是根據(jù)本發(fā)明一實施例的雙面打印裝置模塊組成示意圖;
[0020]圖3是根據(jù)本發(fā)明一實施例的雙面打印裝置的結(jié)構(gòu)示意圖;
[0021]圖4是根據(jù)本發(fā)明實施例的雙面打印控制方法流程圖;
[0022]圖5a是根據(jù)本發(fā)明的雙面打印控制方法的第一優(yōu)選實施例的流程圖;
[0023]圖5b是根據(jù)本發(fā)明的雙面打印控制方法的第二優(yōu)選實施例的流程圖;
[0024]圖5c是根據(jù)本發(fā)明的雙面打印控制方法的第三優(yōu)選實施例的流程圖;
[0025]圖6a是根據(jù)本發(fā)明第一實施例的雙面打印控制方法的拆分打印數(shù)據(jù)的示意圖;
[0026]圖6b是根據(jù)本發(fā)明一實施例的打印內(nèi)容與第一打印頭、第二打印頭及切刀之間關(guān)系的不意圖;
[0027]圖6c是根據(jù)本發(fā)明第二實施例的雙面打印控制方法的拆分打印數(shù)據(jù)的示意圖;
[0028]圖6d是根據(jù)本發(fā)明第三實施例的雙面打印控制方法的拆分打印數(shù)據(jù)的示意圖;
[0029]圖7是根據(jù)本發(fā)明第三實施例的打印數(shù)據(jù)分區(qū)的示意圖;
[0030]圖8是本發(fā)明所提供的根據(jù)打印數(shù)據(jù)分區(qū)生成第一長度參考表的示意圖;
[0031]圖9是根據(jù)本發(fā)明另一實施例的雙面打印裝置模塊組成示意圖;以及
[0032]圖10是根據(jù)本發(fā)明一優(yōu)選實施例的雙面打印裝置的示意圖。
【具體實施方式】
[0033]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。
[0034]圖2是本發(fā)明所提供的打印裝置的一實施例的組成示意圖,如圖所示,雙面打印裝置10包括控制器11、通信接口 12、RAM存儲器13、FLASH存儲器14、第一打印頭15、第二打印頭16、切刀17和檢測單元18。其中,控制器11用于控制各模塊執(zhí)行工作,比如,控制器11用于控制通信接口 12接收打印請求裝置(如主機(jī)30或網(wǎng)絡(luò)設(shè)備)發(fā)送的打印數(shù)據(jù)和各種控制指令,其中,打印數(shù)據(jù)可以是打印頭能夠直接打印的點陣數(shù)據(jù),簡稱為點陣打印數(shù)據(jù),或者是由字符指令、標(biāo)簽定義指令、繪圖指令等組成的數(shù)據(jù),簡稱字符打印數(shù)據(jù);當(dāng)接收到的打印數(shù)據(jù)為字符打印數(shù)據(jù)時,控制器還用于把字符打印數(shù)據(jù)轉(zhuǎn)換為點陣打印數(shù)據(jù)??刂破?1還根據(jù)設(shè)定規(guī)則將點陣打印數(shù)據(jù)拆分為打印在介質(zhì)第一面(如正面)的第一數(shù)據(jù)和打印在介質(zhì)第二面(如背面)的第二數(shù)據(jù),并控制第一打印頭15打印第一數(shù)據(jù)以及控制第二打印頭16打印第二數(shù)據(jù);控制器還用于控制切刀17把已打印的票據(jù)從連續(xù)的介質(zhì)上切割下來等。
[0035]通信接口 12,接收打印請求裝置發(fā)送的打印數(shù)據(jù)、各種控制指令等,并把接收的打印數(shù)據(jù)、控制指令等保存在RAM存儲器13中,其中,接收的打印數(shù)據(jù)可以是由點行數(shù)據(jù)組成的點陣打印數(shù)據(jù),或者是由字符行、條碼、圖形等組成的字符打印數(shù)據(jù),接收的控制指令包括開始打印指令、切紙指令等,其中,開始打印指令指示打印裝置開始對接收的打印數(shù)據(jù)進(jìn)行打印,切紙指令指示切刀動作,從而把已打印的票據(jù)從連續(xù)的介質(zhì)上切割下來。常用的通信接口為串口、USB接口、以太網(wǎng)接口等。
[0036]RAM存儲器13,包括接收緩沖區(qū)和打印緩沖區(qū),其中,接收緩沖區(qū)用于保存通信接口 12接收的打印數(shù)據(jù)、各種控制指令,打印緩沖區(qū)用于保存發(fā)送給打印頭的打印數(shù)據(jù);FLASH存儲器(S卩非易失性存儲器)14,用于保存打印裝置的控制程序以及字符的字體數(shù)據(jù)庫。
[0037]第一打印頭15,用于在介質(zhì)的第一面打印第一數(shù)據(jù);第二打印頭16,用于在介質(zhì)的第二面打印第二數(shù)據(jù),在介質(zhì)的前進(jìn)方向上,第二打印頭16和第一打印頭15間隔一定的距離。第一打印頭及第二打印頭可以是熱敏打印頭、噴墨打印頭或激光打印頭。優(yōu)選地,打印頭是熱敏打印頭,熱敏打印頭包括沿介質(zhì)寬度方向等距排列成一行的多個發(fā)熱單元,每個發(fā)熱單元對應(yīng)于點行數(shù)據(jù)的一個比特,點行數(shù)據(jù)的比特數(shù)等于發(fā)熱體的發(fā)熱單元數(shù)。
[0038]切刀17,用于把已打印的票據(jù)從連續(xù)的介質(zhì)上切割下來以便于用戶取走。
[0039]檢測單元18,用于檢測介質(zhì)是否到達(dá)檢測單元所在位置,常用的檢測單元為光電傳感器,包括光發(fā)射器和光接收器,其中,光發(fā)射器向通道發(fā)射光線,光接收器接收經(jīng)介質(zhì)反射或透過介質(zhì)的光線,根據(jù)接收光線的強(qiáng)弱判通道中是否有介質(zhì),如光接收器接收經(jīng)介質(zhì)反射的光線,則接收的光線強(qiáng)表示通道中有介質(zhì),否則,通道中沒有介質(zhì)。
[0040]圖3是本發(fā)明實施例所提供的打印裝置的結(jié)構(gòu)示意圖,如圖所示,紙倉21、輸送輥組件19,檢測單元18,第一打印頭15,第二打印頭16以及切刀17沿介質(zhì)前進(jìn)方向20依次排布,其中,輸送輥組件19與電機(jī)22傳動連接,通過控制電機(jī)22正向或反向旋轉(zhuǎn),可以驅(qū)動介質(zhì)前進(jìn)或后退;檢測單元18,位于第一打印頭15的上游,用于檢測介質(zhì)是否到達(dá)檢測單元18所在位置;第一打印頭15位于介質(zhì)輸送通道的一側(cè),與介質(zhì)的第一面相對,用于在介質(zhì)的第一面打印數(shù)據(jù);第二打印頭16位于介質(zhì)輸送通道的另一側(cè),與介質(zhì)的第二面相對,用于在介質(zhì)的第二面打印數(shù)據(jù);第一打印頭15的打印位置Pl和切刀17的切割位置C之間的距離為LI,第二打印頭16的打印位置P2和切刀17的切割位置C之間的距離為L2。
[0041]圖4是根據(jù)本發(fā)明實施例的雙面打印控制方法流程圖。如圖4所示,該雙面打印控制方法包括以下步驟:
[0042]步驟SI,在接收打印數(shù)據(jù)之后,計算打印數(shù)據(jù)的長度。即,對接收到的打印數(shù)據(jù)的打印長度進(jìn)行計算。
[0043]步驟S2,計算第一參考長度和第二參考長度,其中,第一參考長度為第一面的打印長度,第二參考長度為第二面的打印長度,第一參考長度和第二參考長度之和等于打印數(shù)據(jù)的打印長度,第一參考長度和第二參考長度之差等于第一面的打印起始位置和第二面的打印起始位置之間的距離。[0044]步驟S3,將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù)。
[0045]在步驟中,第一數(shù)據(jù)的打印長度可以等于第一參考長度,第二數(shù)據(jù)的打印長度可以等于第二參考長度;第一數(shù)據(jù)的打印長度也可以為與第一參考長度對應(yīng)的長度,例如,第一參考長度修正后的長度,相應(yīng)地,第二數(shù)據(jù)的打印長度可以為第二參考長度修正后的長度。
[0046]步驟S4,在第一面打印第一數(shù)據(jù),在第二面打印第二數(shù)據(jù)。即,執(zhí)行雙面打印。
[0047]圖5a是本發(fā)明所提供的打印控制方法的第一優(yōu)選實施例的流程圖,具體處理過程如下:
[0048]步驟S10,接收打印數(shù)據(jù)和打印指令
[0049]控制器11控制通信接口 12接收請求打印裝置發(fā)送的打印數(shù)據(jù)并保存在RAM存儲器13的接收緩沖區(qū)中,當(dāng)接收到打印開始指令后,如果接收的打印數(shù)據(jù)為字符打印數(shù)據(jù),則控制器11還把字符打印數(shù)據(jù)轉(zhuǎn)換為點陣打印數(shù)據(jù),其中,點陣打印數(shù)據(jù)由多個點行數(shù)據(jù)組成。
[0050]步驟S11,計算打印數(shù)據(jù)的打印長度
[0051]打印數(shù)據(jù)的打印長度是指打印頭將點陣打印數(shù)據(jù)打印在介質(zhì)表面后所使用介質(zhì)的長度,以L表示,等于點陣打印數(shù)據(jù)中所有點行數(shù)據(jù)的打印長度的和,由于點行數(shù)據(jù)的打印長度由打印機(jī)的縱向打印分辨率決定,其中,縱向打印分辨率是指打印輸出時在介質(zhì)輸送方向的單位長度上可打印的點行數(shù),當(dāng)打印機(jī)每次打印一點行數(shù)據(jù)時,則在介質(zhì)移動單位長度時可打印的點行數(shù)等于打印頭執(zhí)行打印的次數(shù),因此,縱向打印分辨率是由打印頭每執(zhí)行一次打印時介質(zhì)的移動長度決定的。這樣,當(dāng)打印機(jī)的縱向分辨率確定后,點行數(shù)據(jù)的打印長度隨之確定。比如縱向分辨率為203dpi (dpi是dot perinch縮寫,即點/英寸)的打印機(jī),其點行數(shù)據(jù)的打印長度為0.125mm ((I X 25.4)/203=0.125mm),因此,L=Ldl*N,其中,Ldl為點行數(shù)據(jù)的打印長度,N為點陣打印數(shù)據(jù)的點行數(shù)。為了描述方便,通常用點陣打印數(shù)據(jù)的點行數(shù)N來表示打印數(shù)據(jù)的打印長度L。
[0052]步驟S12,計算第一參考長度和第二參考長度
[0053]如圖6a所示,第一參考長度Lf是第一面的打印長度,第二參考長度Lb是第二面的打印長度,由介質(zhì)兩面的打印長度之和應(yīng)等于打印數(shù)據(jù)的打印長度可以得到:
[0054]Lf+Lb=L (表達(dá)式一)
[0055]如圖6b所示,由于兩個打印頭在介質(zhì)的前進(jìn)方向42上間隔一定的距離,因此,介質(zhì)第一面的打印起始位置43和介質(zhì)第二面的打印起始位置48之間間隔一定的距離Ls(簡稱起始位置間距),該起始位置間距根據(jù)用戶需要在執(zhí)行打印前已經(jīng)完成設(shè)置;為了最大程度的節(jié)省介質(zhì),要求介質(zhì)第一面的打印終止位置44和介質(zhì)第二面的打印終止位置49對齊,由此得到:
[0056]Lb - Lf=Ls (表達(dá)式二)
[0057]對表達(dá)式一和表達(dá)式二進(jìn)行轉(zhuǎn)換,可以得到:
[0058]Lf= (L-Ls)/2 (表達(dá)式三)
[0059]Lb=(L+Ls)/2 (表達(dá)式四)
[0060]從表達(dá)式三可以看出,只有當(dāng)打印數(shù)據(jù)的打印長度L大于起始位置間距Ls時,第一參考長度Lf和第二參考長度Lb才均大于零,即打印裝置可以進(jìn)行雙面打印,否則,第一參考長度Lf小于等于零,即打印機(jī)只能由第二打印頭16進(jìn)行單面打印。
[0061]由于打印數(shù)據(jù)的打印長度L和起始位置間距Ls已知,從而可以根據(jù)表達(dá)式三和表達(dá)式四計算出第一參考長度Lf和第二參考長度Lb,設(shè)第一參考長度Lf和第二參考長度Lb的交界位置為參考拆分位置,即第一參考長度Lf的最后一點行或第二參考長度Lb的第一點行為參考拆分位置,如圖6a所示,第一參考長度Lf的最后一點行45為參考拆分位置。
[0062]步驟S13,將打印數(shù)據(jù)拆分為第一數(shù)據(jù)和第二數(shù)據(jù)。
[0063]根據(jù)第一參考長度Lf和第二參考長度Lb對保存在RAM存儲器13中的點陣打印數(shù)據(jù)進(jìn)行拆分,如圖6a所示,把點陣打印數(shù)據(jù)40拆分為打印長度為第一參考長度Lf的第一數(shù)據(jù)41和打印長度為第二參考長度Lb的第二數(shù)據(jù)46。
[0064]步驟S14,第一打印頭打印第一數(shù)據(jù),第二打印頭打印第二數(shù)據(jù)
[0065]如圖6b所示,由第一打印頭15在介質(zhì)第一面從打印起始位置43開始打印第一數(shù)據(jù)41,當(dāng)?shù)谝淮蛴☆^15打印(L2-L1-LS)點行后,第二打印頭16在介質(zhì)第二面從打印起始位置48開始打印第二數(shù)據(jù)46,當(dāng)?shù)谝粩?shù)據(jù)41和第二數(shù)據(jù)46打印結(jié)束后,打印在介質(zhì)第一面的第一數(shù)據(jù)41的打印結(jié)束位置44和打印在介質(zhì)第二面的第二數(shù)據(jù)46的打印結(jié)束位置49是對齊的。
[0066]圖5b是本發(fā)明所提供的打印控制方法的第二優(yōu)選實施例的流程圖,具體處理過程如下:
[0067]步驟S20,接收點陣打印數(shù)據(jù)和打印指令
[0068]控制器11控制通信接口 12接收請求打印裝置發(fā)送的打印數(shù)據(jù)和打印指令,并保存在RAM存儲器13中,其中,接收的打印數(shù)據(jù)為點陣打印數(shù)據(jù)。當(dāng)打印機(jī)接收到開始打印指令后執(zhí)行打印。
[0069]步驟S21,計算點陣打印數(shù)據(jù)的打印長度
[0070]點陣打印數(shù)據(jù)的點行數(shù)即為點陣打印數(shù)據(jù)的打印長度。
[0071]步驟S22,計算第一參考長度和第二參考長度
[0072]同步驟S12,根據(jù)表達(dá)式三和表達(dá)式四計算出第一參考長度、第二參考長度,并確定參考拆分位置。
[0073]步驟S23,判斷在參考拆分位置之前打印長度為AL的打印數(shù)據(jù)是否有空白點行
[0074]為了防止把打印數(shù)據(jù)從字符行、圖形、條碼中具有信息的部分拆分,如從字符行內(nèi)部拆分,則字符行分別被打印在介質(zhì)的兩面,從而造成信息的不可識別,因此,要判斷在參考拆分位置周圍的一定范圍內(nèi),如上下各AL點行內(nèi)是否有空白點行,其中,AL的數(shù)值根據(jù)需要設(shè)定,如圖6c所示,對在參考拆分位置45之前Λ L點行的打印數(shù)據(jù)41a (簡稱為上拆分區(qū)域)內(nèi)是否有空白點行進(jìn)行判斷,判斷空白點行的方法為:點行中所有的比特數(shù)據(jù)均為在介質(zhì)上沒有打印輸出的數(shù)據(jù),如數(shù)據(jù)“0”,即點行數(shù)據(jù)為全“O”數(shù)據(jù)時,則該點行數(shù)據(jù)在介質(zhì)上沒有打印輸出,簡稱為空白點行。如果上拆分區(qū)域沒有空白點行,則轉(zhuǎn)到步驟S25 ;否則,轉(zhuǎn)到步驟S24。
[0075]步驟S24,獲取空白點行與參考拆分位置之間的最小打印長度Lup
[0076]當(dāng)上拆分區(qū)域具有空白點行時,計算每個空白點行和參考拆分位置之間的打印長度,由于參考拆分位置既可以為打印長度為第一參考長度的最后一點行,也可以為打印長度為第二參考長度的第一點行,以下以參考拆分位置為打印長度為第一參考長度的打印數(shù)據(jù)的最后一點行進(jìn)行計算和說明,則上拆分區(qū)域內(nèi)每個空白點行和參考拆分位置之間的打印長度等于參考拆分位置所在的點行數(shù)減去空白行所在的點行數(shù),如第一參考長度為500點行,則參考拆分位置位于第500點行,如空白點行為第480點行,則該空白點行和參考拆分位置之間的打印長度為20 (即500-480),取上拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值為上拆分區(qū)域的空白點行與參考拆分位置之間的最小打印長度Lup0
[0077]步驟S25,Lup= Δ L+1
[0078]當(dāng)上拆分區(qū)域沒有空白點行時,則Lup取一大于AL的數(shù)值,如Lup= Λ L+1。
[0079]步驟S26,判斷在參考拆分位置之后打印長度為AL的打印數(shù)據(jù)是否有空白點行
[0080]如圖6c所示,對在參考拆分位置45之后AL點行的打印數(shù)據(jù)46a(簡稱為下拆分區(qū)域)是否有空白點行進(jìn)行判斷。如果下拆分區(qū)域沒有空白點行,則轉(zhuǎn)到步驟S28 ;否則,轉(zhuǎn)到步驟S27。
[0081]步驟S27,獲取空白點行與參考拆分位置的最小打印長度Ldw
[0082]當(dāng)下拆分區(qū)域具有空白點行時,計算每個空白點行和參考拆分位置之間的打印長度,其中,空白點行和參考拆分位置之間的打印長度等于空白行所在的點行數(shù)減去參考拆分位置所在的點行數(shù),如參考拆分位置為第500點行、空白點行為第510點行,則該空白點行和參考拆分位置之間的打印長度為10 (即510-500)點行,取下拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值為下拆分區(qū)域的空白點行與參考拆分位置之間的最小打印長度Ldw。
[0083]步驟S28, Ldw= Δ L+1
[0084]當(dāng)下拆分區(qū)域沒有空白點行時,則Ldw取一大于AL的數(shù)值,如Ldw= Λ L+1。
[0085]步驟S29,判斷Lup和Ldw是否均大于Δ L
[0086]將Lup和Ldw分別與Δ L進(jìn)行比較,如果Lup和Ldw均大于Δ L,即上拆分區(qū)域和下拆分區(qū)域均沒有空白點行,則轉(zhuǎn)到步驟S33 ;否則,在上拆分區(qū)域和下拆分區(qū)域的兩個區(qū)域中至少有一個區(qū)域具有空白點行,則轉(zhuǎn)到步驟S30。
[0087]步驟S30,判斷Lup是否小于Ldw
[0088]對Lup、Ldw的大小進(jìn)行判斷,如果Lup小于Ldw,即上拆分區(qū)域內(nèi)的空白點行更接近于參考拆分位置,則轉(zhuǎn)到步驟S32 ;如果Lup大于等于Ldw,即下拆分區(qū)域內(nèi)的空白點行更接近于參考拆分位置,轉(zhuǎn)到步驟S31。
[0089]步驟S31,第一優(yōu)選長度等于第一參考長度加Ldw
[0090]對第一參考長度、第二參考長度進(jìn)行修正以獲取第一優(yōu)選長度、第二優(yōu)選長度,其中,第一優(yōu)選長度等于第一參考長度加Ldw,第二優(yōu)選長度等于打印長度L減去第一優(yōu)選長度,以使打印數(shù)據(jù)的拆分位置處于空白行。
[0091]步驟S32,第一優(yōu)選長度等于第一參考長度減去Lup
[0092]對第一參考長度、第二參考長度進(jìn)行修正以獲取第一優(yōu)選長度、第二優(yōu)選長度,其中,第一優(yōu)選長度等于第一參考長度減去Lup,第二優(yōu)選長度等于打印長度L減去第一優(yōu)選長度,以使打印數(shù)據(jù)的拆分位置處于空白行。
[0093]步驟S33,第一優(yōu)選長度等于第一參考長度[0094]由于在上拆分區(qū)域和下拆分區(qū)域內(nèi)均沒有空白行,則不需要對第一參考長度、第二參考長度進(jìn)行修正,即第一優(yōu)選長度等于第一參考長度,第二優(yōu)選長度等于第二參考長度。
[0095]步驟S34,將打印數(shù)據(jù)拆分為第一數(shù)據(jù)和第二數(shù)據(jù)
[0096]根據(jù)第一優(yōu)選長度和第二優(yōu)選長度對保存在RAM存儲器13中的點陣打印數(shù)據(jù)進(jìn)行拆分,拆分為打印長度為第一優(yōu)選長度的第一數(shù)據(jù)和打印長度為第二優(yōu)選長度的第二數(shù)據(jù)。
[0097]步驟S35,第一打印頭打印第一數(shù)據(jù),第二打印頭打印第二數(shù)據(jù)
[0098]如圖6b所示,由第一打印頭15在介質(zhì)第一面從打印起始位置43開始打印第一數(shù)據(jù)41,當(dāng)?shù)谝淮蛴☆^15打印(L2-L1-LS)點行后,第二打印頭16在介質(zhì)第二面從打印起始位置48開始打印第二數(shù)據(jù)46,分別在介質(zhì)的第一面和第二面生成打印輸出。
[0099]圖5c是本發(fā)明所提供的打印控制方法的第三優(yōu)選實施例的流程圖,具體處理過程如下:
[0100]步驟S40,接收字符打印數(shù)據(jù)和打印指令
[0101]控制器11控制通信接口 12接收請求打印裝置發(fā)送的打印數(shù)據(jù)和打印指令,并保存在RAM存儲器13中,其中,接收的打印數(shù)據(jù)為字符打印數(shù)據(jù)。當(dāng)打印機(jī)接收到開始打印指令后執(zhí)行打印。
[0102]步驟S41,對打印數(shù)據(jù)進(jìn)行分區(qū),生成第一長度參考表
[0103]當(dāng)接收到開始打印指`令后,控制器11開始處理接收的字符打印數(shù)據(jù),根據(jù)字符打印數(shù)據(jù)定義指令的不同,把打印數(shù)據(jù)的打印輸出劃分為不同的區(qū)域,每一個區(qū)域由連續(xù)的相同類型指令生成,如由字符指令定義的字符區(qū)域、由條碼指令定義的條碼區(qū)域、由繪圖指令定義的繪圖區(qū)域等,如圖7的(a)部分所示,打印數(shù)據(jù)110包括第一字符指令數(shù)據(jù)111、繪圖指令112、條碼指令113、第二字符指令1141、...、第七字符指令1146、開始打印指令115,打印數(shù)據(jù)110對應(yīng)的連續(xù)打印輸出120為圖7的(b)部分所示,該打印輸出包括4個區(qū)域,分別為第一字符打印區(qū)域121、圖形區(qū)域122、條碼區(qū)域123和第二字符區(qū)域124,其中,第一字符打印區(qū)域121為圖7的(a)部分所示的第一字符指令111的打印輸出,圖形區(qū)域122為圖7的(a)部分所示的繪圖指令112的打印輸出,條碼區(qū)域123為圖7的(a)部分所示的條碼指令113的打印輸出,第二字符打印區(qū)域124為圖7的(a)部分所示的第二字符指令1141至第七字符指令1146組成的字符指令組114的打印輸出。
[0104]在介質(zhì)移動的方向上,按照不同的圖像、條碼、字符行再對每個打印區(qū)域進(jìn)行劃分,劃分為不同的子區(qū)域,如圖7的(b)部分所示,第二字符打印區(qū)域124為圖7的(a)部分中第二字符指令1141至第七字符指令1146的打印輸出,分別為圖7的(b)部分所示第一子區(qū)域1241、第二子區(qū)域1242、…、第六子區(qū)域1246,其中,第一子區(qū)域1241為空白區(qū)域,第二子區(qū)域1242至第六子區(qū)域1246為有打印輸出的字符區(qū)域。
[0105]根據(jù)字符字體的點陣數(shù)據(jù)WXH及打印數(shù)據(jù)中的排版指令,計算打印數(shù)據(jù)的字符行數(shù),如點陣數(shù)據(jù)WXH為12X24,打印區(qū)域的左間距為30點、右間距為10,點行數(shù)據(jù)的比特數(shù)為680個,則一字符行可打印的字符數(shù)(簡稱每行字符數(shù))為54 ( (680-30-10)/12),從而可以根據(jù)每行字符數(shù)計算接收的字符打印數(shù)據(jù)的字符行數(shù),字符行數(shù)等于字符打印數(shù)據(jù)的字符數(shù)除以每行字符數(shù);再根據(jù)字符行數(shù)、點陣數(shù)據(jù)WXH中的高度H,計算由字符打印數(shù)據(jù)所生成的點陣打印數(shù)據(jù)的點行數(shù),其中,點行數(shù)等于字符行數(shù)乘以高度H。圖8的(a)中的打印區(qū)域120為圖7的(a)部分中打印數(shù)據(jù)110的打印輸出的分區(qū)示意圖,其中,打印數(shù)據(jù)110的打印長度為L,第一字符指令111的打印長度為LI,繪圖指令112的打印長度為L2,條碼指令113的打印長度為L3,第二字符指令1141的打印長度為L4,...,第七字符指令1146的打印長度為L4,當(dāng)在繪圖區(qū)域、條碼區(qū)域、字符行的中間區(qū)域進(jìn)行分割時會對打印信息造成破壞,如在LOGO圖形的中間分隔,會造成LOGO圖像的美觀,因此,只能在各個區(qū)域的交界處或字符行等子區(qū)域的交界處進(jìn)行數(shù)據(jù)分拆,由此得到第一長度參考表,如圖8 (b)所示,第一長度參考表130為圖7的(a)部分中打印數(shù)據(jù)110的所有可能的拆分位置的打印長度列表,由于可以在空白行中的任意位置進(jìn)行數(shù)據(jù)拆分,因此,與空白區(qū)域1241對應(yīng)的拆分位置為一個區(qū)域,即第一長度參考表130第五行中序號為4的第一長度為一個長度區(qū)域。
[0106]步驟S42,把打印數(shù)據(jù)從字符數(shù)據(jù)轉(zhuǎn)換為點陣數(shù)據(jù)
[0107]當(dāng)打印數(shù)據(jù)中包括繪圖指令、條碼指令時,分別對其進(jìn)行解析,以生成與指令對應(yīng)的點陣數(shù)據(jù);當(dāng)打印數(shù)據(jù)中包括字符指令時,根據(jù)字符的文字代碼在FLASH存儲器14中查找與該代碼對應(yīng)的點陣數(shù)據(jù),從而生成與該字符指令對應(yīng)的點陣數(shù)據(jù);對所有的指令進(jìn)行解析后,則生成點陣打印數(shù)據(jù),其打印長度為L點行。把生成的點陣打印數(shù)據(jù)保存在RAM存儲器13中。
[0108]步驟S43,計算第一參考長度和第二參考長度
[0109]同步驟S12,根據(jù)表達(dá)式三和表達(dá)式四計算出第一參考長度、第二參考長度,并確定參考拆分位置。
[0110]步驟S44,根據(jù)第一參考長度查表得到第一優(yōu)選長度
[0111]由于通過計算得到的第一參考長度對應(yīng)的參考拆分位置可能在條碼區(qū)域、圖形區(qū)域及字符行子區(qū)域的中間位置,從而破壞字符、條碼、圖形等的打印完整性,因此,要對第一參考長度進(jìn)行查表,以得到不影響條碼、圖形、字符行的打印完整性的拆分位置對應(yīng)的第一優(yōu)選長度;在圖8的(b)部分所示的第一長度參考表中進(jìn)行查表,當(dāng)在“第一長度”列中能夠查找與第一參考長度的數(shù)值最接近的項,如第一參考長度Lf在Lr2和Lr3之間,即Lr2〈Lf
<Lr3,假如(Lf-Lr2) < (Lr3_Lf),即Lr2的數(shù)值更接近于Lf,則長度Lr2為第一優(yōu)選長度,否則,Lr3為第一優(yōu)選長度。優(yōu)選的,查找與第一參考長度相同的項,或者第一參考長度在某一項的數(shù)值范圍內(nèi),則該第一參考長度即為第一優(yōu)選長度。根據(jù)第一優(yōu)選長度和第二優(yōu)選長度之和等于打印長度L,得到第二優(yōu)選長度。
[0112]步驟S45,將打印數(shù)據(jù)拆分為第一數(shù)據(jù)和第二數(shù)據(jù)
[0113]根據(jù)第一優(yōu)選長度和第二優(yōu)選長度對保存在RAM存儲器13中的點陣打印數(shù)據(jù)進(jìn)行拆分,拆分為打印長度為第一優(yōu)選長度的第一數(shù)據(jù)和打印長度為第二優(yōu)選長度的第二數(shù)據(jù),如圖6d所示,在優(yōu)選拆分位置142把點陣打印數(shù)據(jù)120拆分為打印長度為第一優(yōu)選長度Lfl的第一數(shù)據(jù)140和打印長度為第二優(yōu)選長度Lbl的第二數(shù)據(jù)141,從圖中可以看出,當(dāng)點陣打印數(shù)據(jù)120按照第一參考長度Lf在參考拆分位置132進(jìn)行打印數(shù)據(jù)拆分時,打印長度為第一參考長度Lf的第一數(shù)據(jù)130未完全包括位圖133的全部數(shù)據(jù),從而造成位圖133被打印在介質(zhì)的兩面。
[0114]步驟S46,第一打印頭打印第一數(shù)據(jù),第二打印頭打印第二數(shù)據(jù)
[0115]如圖6b所示,由第一打印頭15在介質(zhì)第一面從打印起始位置43開始打印第一數(shù)據(jù)41,當(dāng)?shù)谝淮蛴☆^15打印(L2-L1-LS)點行后,第二打印頭16在介質(zhì)第二面從打印起始位置48開始打印第二數(shù)據(jù)46,分別在介質(zhì)的第一面和第二面生成打印輸出。
[0116]本發(fā)明實施例提供的雙面打印控制方法中,根據(jù)第一數(shù)據(jù)在介質(zhì)第一面的打印起始位置和第二數(shù)據(jù)在介質(zhì)第二面的打印起始位置之間的距離拆分接收的打印數(shù)據(jù),使第一數(shù)據(jù)在介質(zhì)第一面的打印終止位置和第二數(shù)據(jù)在介質(zhì)第二面的打印終止位置相同,減小了介質(zhì)第二面的空白區(qū)域,從而提高介質(zhì)第二面的利用率達(dá)到了節(jié)省介質(zhì)的效果;進(jìn)一步地,對打印數(shù)據(jù)進(jìn)行分類,僅在空白區(qū)域或不同類型數(shù)據(jù)的交替位置進(jìn)行數(shù)據(jù)拆分,保證了打印數(shù)據(jù)中圖形、條碼、字符行的完整性,減小了數(shù)據(jù)拆分對打印數(shù)據(jù)打印效果的影響。
[0117]相應(yīng)于本發(fā)明實施例的雙面打印控制方法,本發(fā)明實施例還提供了一種雙面打印控制裝置,需要說明的是,本發(fā)明實施例的雙面打印控制方法可以通過本發(fā)明實施例所提供的雙面打印控制裝置來執(zhí)行,本發(fā)明實施例的雙面打印控制裝置也可以用于執(zhí)行本發(fā)明實施例所提供的雙面打印控制方法。
[0118]圖9是根據(jù)本發(fā)明另一實施例的雙面打印裝置的示意圖。如圖9所示,該雙面控制裝置包括第一計算單元101、第二計算單元102、拆分單元103和打印單元104。
[0119]第一計算單元101用于在接收打印數(shù)據(jù)之后,計算打印數(shù)據(jù)的長度。
[0120]第二計算單元102用于計算第一參考長度和第二參考長度,其中,第一參考長度為第一面的打印長度,第二參考長度為第二面的打印長度,第一參考長度和第二參考長度之和等于打印數(shù)據(jù)的打印長度,第一參考長度和第二參考長度之差等于第一面的打印起始位置和第二面的打印起始位置之間的距離。
[0121]拆分單元103用于將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二參考長度的第二數(shù)據(jù)。
[0122]打印單元104用于在第一面打印第一數(shù)據(jù),在第二面打印第二數(shù)據(jù)。
[0123]上述的第一計算單元101、第二計算單元102、拆分單元103可以通過圖2所示實施例中的控制器11來實現(xiàn),打印單元104可以通過圖2所示實施例中的第一打印頭15和第二打印頭16來實現(xiàn)。
[0124]圖10是根據(jù)本發(fā)明一優(yōu)選實施例的雙面打印裝置的示意圖。該實施例的雙面打印裝置為圖9所示實施例的優(yōu)選實施方式。
[0125]優(yōu)選地,雙面打印控制裝置除了包括前述的第一計算單元101、第二計算單元102、拆分單元103和打印單元104 (作用與上一實施例相同,在此不再贅述)之外,還包括:
[0126]第一判斷單元105,用于判斷上拆分區(qū)域內(nèi)是否有空白點行,其中,上拆分區(qū)域為參考拆分位置之前打印長度為AL的打印數(shù)據(jù),參考拆分位置為按照打印長度為第一參考長度的第一數(shù)據(jù)和打印長度為第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置。
[0127]第一獲取單元106,用于在判斷出上拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Lup,其中,最小打印長度Lup為上拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值。
[0128]第二判斷單元107,用于判斷下拆分區(qū)域內(nèi)是否有空白點行,其中,下拆分區(qū)域為參考拆分位置之后打印長度為AL的打印數(shù)據(jù),參考拆分位置為按照打印長度為第一參考長度的第一數(shù)據(jù)和打印長度為第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置。
[0129]第二獲取單元108,用于在判斷出下拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Ldw,其中,最小打印長度Ldw為下拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值。
[0130]第三判斷單元109,用于判斷Lup和Ldw是否均大于AL。
[0131 ] 第一確定單元111,用于當(dāng)Lup和Ldw均大于Λ L時,將第一參考長度作為第一優(yōu)選長度。
[0132]第四判斷單元112,用于當(dāng)Lup和Ldw不均大于Δ L時,判斷Lup是否小于Ldw。
[0133]第二確定單元113,用于當(dāng)Lup小于Ldw時,將第一參考長度和Lup的差作為第一優(yōu)選長度。
[0134]第三確定單元114,用于當(dāng)Lup不小于Ldw時,將第一參考長度和Ldw的和作為第一優(yōu)選長度。
[0135]其中,拆分單元103用于將打印數(shù)據(jù)拆分為打印長度對應(yīng)于第一優(yōu)選長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二優(yōu)選長度的第二數(shù)據(jù),其中,第二優(yōu)選長度為打印數(shù)據(jù)的長度與第一優(yōu)選長度的差。
[0136]上述的第一判斷單元105至第三確定單元114也可以通過圖2所示實施例中的控制器11來實現(xiàn)。
[0137]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0138]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種雙面打印控制方法,其特征在于,包括: 在接收打印數(shù)據(jù)之后,計算所述打印數(shù)據(jù)的長度; 計算第一參考長度和第二參考長度,其中,所述第一參考長度為第一面的打印長度,所述第二參考長度為第二面的打印長度,所述第一參考長度和所述第二參考長度之和等于所述打印數(shù)據(jù)的打印長度,所述第一參考長度和所述第二參考長度之差等于所述第一面的打印起始位置和所述第二面的打印起始位置之間的距離; 將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于所述第二參考長度的第二數(shù)據(jù);以及 在所述第一面打印所述第一數(shù)據(jù),在所述第二面打印所述第二數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的雙面打印控制方法,其特征在于, 所述第一面的打印起始位置和所述第二面的打印起始位置之差小于等于在介質(zhì)輸送方向上第一打印頭和第二打印頭之間的距離,所述第一打印頭用于在所述第一面上打印所述第一數(shù)據(jù),所述第二打印頭用于在所述第二面上打印所述第二數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的雙面打印控制方法,其特征在于, 在計算第一參考長度和第二參考長度之后,以及在將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于所述第二參考長度的第二數(shù)據(jù)之前,所述方法還包括: 判斷上拆分區(qū)域內(nèi)是否有空白點行,其中,所述上拆分區(qū)域為參考拆分位置之前打印長度為AL的所述打印數(shù)據(jù),所述參考拆分位置為按照打印長度為所述第一參考長度的第一數(shù)據(jù)和打印長度為所述第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置,` 在判斷出所述上拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Lup,其中,所述最小打印長度Lup為所述上拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值, 判斷下拆分區(qū)域內(nèi)是否有空白點行,其中,所述下拆分區(qū)域為參考拆分位置之后打印長度為AL的所述打印數(shù)據(jù),所述參考拆分位置為按照打印長度為所述第一參考長度的第一數(shù)據(jù)和打印長度為所述第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置, 在判斷出所述下拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Ldw,其中,所述最小打印長度Ldw為所述下拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值, 判斷Lup和Ldw是否均大于Δ L ; 當(dāng)Lup和Ldw均大于AL時,將所述第一參考長度作為第一優(yōu)選長度, 當(dāng)Lup和Ldw不均大于Δ L時,判斷Lup是否小于Ldw ; 當(dāng)Lup小于Ldw時,將所述第一參考長度和Lup的差作為所述第一優(yōu)選長度; 以及 當(dāng)Lup不小于Ldw時,將所述第一參考長度和Ldw的和作為所述第一優(yōu)選長度, 其中,將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于所述第二參考長度的第二數(shù)據(jù)包括: 將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一優(yōu)選長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二優(yōu)選長度的第二數(shù)據(jù),其中,所述第二優(yōu)選長度為所述打印數(shù)據(jù)的長度與所述第一優(yōu)選長度的差。
4.根據(jù)權(quán)利要求3所述的雙面打印控制方法,其特征在于, 在判斷出所述上拆分區(qū)域內(nèi)沒有空白點行時,將大于AL的值作為Lup的值, 在判斷出所述下拆分區(qū)域內(nèi)沒有空白點行時,將大于AL的值作為Ldw的值。
5.根據(jù)權(quán)利要求1所述的雙面打印控制方法,其特征在于,將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于所述第二參考長度的第二數(shù)據(jù)包括: 將所述打印數(shù)據(jù)拆分為打印長度為所述第一參考長度的第一數(shù)據(jù)和打印長度為所述第二參考長度的第二數(shù)據(jù)。
6.根據(jù)權(quán)利要求1所述的雙面打印控制方法,其特征在于, 所述打印數(shù)據(jù)為字符打印數(shù)據(jù),所述方法還包括:對所述字符打印數(shù)據(jù)進(jìn)行區(qū)域劃分,生成第一長度參考表,其中,所述第一長度參考表為所述打印數(shù)據(jù)的所有可能拆分位置的打印長度列表,所述可能拆分位置為相鄰區(qū)域的交界處, 其中,計算所述第一參考長度之后,所述方法還包括: 根據(jù)所述第一參考長度在所述第一長度參考表中進(jìn)行查表,得到與所述第一參考長度最接近的長度,作為第一優(yōu)選長度;以及 將所述打印數(shù)據(jù)的長度與所述第一優(yōu)選長度的差作為第二優(yōu)選長度, 其中,將所述打印數(shù)據(jù)拆分`為打印長度對應(yīng)于所述第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于所述第二參考長度的第二數(shù)據(jù)包括:將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一優(yōu)選長度的第一數(shù)據(jù)和打印長度對應(yīng)于所述第二優(yōu)選長度的第二數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的雙面打印控制方法,其特征在于, 對所述字符打印數(shù)據(jù)進(jìn)行區(qū)域劃分,生成第一長度參考表包括: 根據(jù)字符打印數(shù)據(jù)定義指令的不同,把所述打印數(shù)據(jù)的打印輸出劃分為不同的區(qū)域,每一個區(qū)域由連續(xù)的相同類型指令生成;以及 在介質(zhì)移動的方向上,按照不同的圖像、條碼、字符行再對每個打印區(qū)域進(jìn)行劃分,劃分為不同的子區(qū)域,生成所述第一長度參考表,其中,所述第一長度參考表為所述打印數(shù)據(jù)的所有可能拆分位置的打印長度列表,所述可能拆分位置為相鄰所述區(qū)域的交界處或相鄰所述子區(qū)域的交界處。
8.一種雙面打印控制裝置,其特征在于,包括: 第一計算單元,用于在接收打印數(shù)據(jù)之后,計算所述打印數(shù)據(jù)的長度; 第二計算單元,用于計算第一參考長度和第二參考長度,其中,所述第一參考長度為第一面的打印長度,所述第二參考長度為第二面的打印長度,所述第一參考長度和所述第二參考長度之和等于所述打印數(shù)據(jù)的打印長度,所述第一參考長度和所述第二參考長度之差等于所述第一面的打印起始位置和所述第二面的打印起始位置之間的距離; 拆分單元,用于將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于所述第二參考長度的第二數(shù)據(jù);以及打印單元,用于在所述第一面打印所述第一數(shù)據(jù),在所述第二面打印所述第二數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的雙面打印控制裝置,其特征在于,還包括: 第一判斷單元,用于判斷上拆分區(qū)域內(nèi)是否有空白點行,其中,所述上拆分區(qū)域為參考拆分位置之前打印長度為AL的所述打印數(shù)據(jù),所述參考拆分位置為按照打印長度為所述第一參考長度的第一數(shù)據(jù)和打印長度為所述第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置, 第一獲取單元,用于在判斷出所述上拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Lup,其中,所述最小打印長度Lup為所述上拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值, 第二判斷單元,用于判斷下拆分區(qū)域內(nèi)是否有空白點行,其中,所述下拆分區(qū)域為參考拆分位置之后打印長度為AL的所述打印數(shù)據(jù),所述參考拆分位置為按照打印長度為所述第一參考長度的第一數(shù)據(jù)和打印長度為所述第二參考長度的第二數(shù)據(jù)進(jìn)行拆分時的拆分位置, 第二獲取單元,用于在判斷出所述下拆分區(qū)域內(nèi)有空白點行時,獲取空白點行與參考拆分位置之間的最小打印長度Ldw,其中,所述最小打印長度Ldw為所述下拆分區(qū)域內(nèi)所有空白點行與參考拆分位置之間的打印長度的最小值,第三判斷單元,用于判斷Lup和Ldw是否均大于AL ; 第一確定單兀,用于當(dāng)Lup和Ldw均大于ΔL時,將所述第一參考長度作為第一優(yōu)選長度, 第四判斷單元,用于當(dāng)Lup和Ldw不均大于ΔL時,判斷Lup是否小于Ldw ; 第二確定單元,用于當(dāng)Lup小于Ldw時,將所述第一參考長度和Lup的差作為所述第一優(yōu)選長度;以及 第三確定單元,用于當(dāng)Lup不小于Ldw時,將所述第一參考長度和Ldw的和作為所述第一優(yōu)選長度, 其中,所述拆分單元用于將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一優(yōu)選長度的第一數(shù)據(jù)和打印長度對應(yīng)于第二優(yōu)選長度的第二數(shù)據(jù),其中,所述第二優(yōu)選長度為所述打印數(shù)據(jù)的長度與所述第一優(yōu)選長度的差。
10.一種雙面打印機(jī),其特征在于,包括: 通信接口,用于接收打印數(shù)據(jù); 第一打印頭,用于在介質(zhì)的第一面打印第一數(shù)據(jù); 第二打印頭,用于在介質(zhì)的第二面打印第二數(shù)據(jù); 控制器,用于在接收打印數(shù)據(jù)之后,計算所述打印數(shù)據(jù)的長度;計算第一參考長度和第二參考長度,其中,所述第一參考長度為第一面的打印長度,所述第二參考長度為第二面的打印長度,所述第一參考長度和所述第二參考長度之和等于所述打印數(shù)據(jù)的打印長度,所述第一參考長度和所述第二參考長度之差不大于所述第一打印頭和所述第二打印頭之間的距離;將所述打印數(shù)據(jù)拆分為打印長度對應(yīng)于所述第一參考長度的第一數(shù)據(jù)和打印長度對應(yīng)于所述第二參考長度的第二數(shù)據(jù);以及控制所述第一打印頭在所述第一面打印所述第一數(shù)據(jù),控制所述第二打印頭在所述第二面打印所述第二數(shù)據(jù)。
【文檔編號】G06F3/12GK103777908SQ201210415208
【公開日】2014年5月7日 申請日期:2012年10月25日 優(yōu)先權(quán)日:2012年10月25日
【發(fā)明者】丁進(jìn)峰, 許加波, 董述恂, 高曉燕 申請人:山東新北洋信息技術(shù)股份有限公司