一種打印方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及打印技術(shù)領(lǐng)域,具體地說,涉及一種打印方法。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,涉及到使待打印文檔按照打印紙張尺寸進行排版的情況有以下幾種:第一種是應(yīng)用程序有編輯打印紙張尺寸的功能,如Microsoft的WORD,待打印文檔會按照應(yīng)用程序設(shè)置的打印紙張尺寸進行排版,最后打印輸出;第二種是應(yīng)用程序沒有編輯打印紙張尺寸的功能,如一些常用的醫(yī)療軟件,待打印文檔將會按照應(yīng)用程序默認(rèn)的一種打印紙張尺寸(如A4)進行排版,最后打印輸出。
[0003]對于第一種情況,用戶可以根據(jù)自身所期望的打印紙張尺寸,在應(yīng)用程序上直接設(shè)置與期望的打印紙張尺寸相對應(yīng)的標(biāo)準(zhǔn)打印紙張尺寸,應(yīng)用程序會按照該尺寸排版待打印文檔,待打印文檔部分不會丟失。但是對于第二種情況,在不具有編輯打印紙張尺寸的功能的應(yīng)用程序中,待打印文檔會按照應(yīng)用程序默認(rèn)的打印紙張尺寸進行排版;若是用戶打印時所用的打印紙張尺寸小于該默認(rèn)的打印紙張尺寸,位于打印所用的打印紙張尺寸之外的待打印文檔部分就會丟失。
[0004]在中國專利CN200610141493.6中公開的方法能夠防止打印數(shù)據(jù)丟失,具體的方法是用戶輸入虛擬打印紙張尺寸,接收虛擬打印紙張尺寸和具有虛擬打印紙張尺寸的待打印文檔數(shù)據(jù),顯示與待打印文檔數(shù)據(jù)相對應(yīng)的待打印文檔,以及將虛擬打印紙張尺寸的待打印文檔數(shù)據(jù)轉(zhuǎn)換為當(dāng)前設(shè)置的打印紙張尺寸的打印數(shù)據(jù)。當(dāng)輸入的虛擬打印紙張尺寸與用戶期望使用的打印紙張尺寸不一致時,通過縮放的方式,將虛擬打印紙張尺寸的待打印文檔數(shù)據(jù)轉(zhuǎn)換成具有當(dāng)前設(shè)置的打印紙張尺寸的打印數(shù)據(jù),執(zhí)行打印作業(yè)。
[0005]然而在上述現(xiàn)有技術(shù)中,將待打印文檔數(shù)據(jù)縮放之后,隨之而來的就是打印待打印文檔中字體變小,影響打印質(zhì)量,可能會給用戶帶來不便。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種打印方法,以解決不具有編輯打印紙張尺寸的功能的應(yīng)用程序中,應(yīng)用程序默認(rèn)的打印紙張尺寸與打印紙張尺寸不匹配導(dǎo)致打印質(zhì)量下降的問題。
[0007]本發(fā)明提供了一種打印方法,該方法包括:
[0008]獲取由打印驅(qū)動所設(shè)定的打印紙張尺寸;
[0009]根據(jù)獲取到的所述打印紙張尺寸,獲取可打印區(qū)域;
[0010]根據(jù)所述打印紙張尺寸和所述可打印區(qū)域,對待打印文檔中的待打印數(shù)據(jù)進行排版輸出,執(zhí)行打印作業(yè)。
[0011]其中,根據(jù)獲取到的所述打印紙張尺寸,獲取可打印區(qū)域之前,還包括:
[0012]獲取打印分辨率和當(dāng)前打印邊距。
[0013]其中,根據(jù)獲取到的所述打印紙張尺寸,獲取可打印區(qū)域包括:
[0014]利用獲取到的所述打印紙張尺寸、所述打印分辨率和所述當(dāng)前打印邊距,計算獲得所述可打印區(qū)域。
[0015]其中,根據(jù)獲取到的所述打印紙張尺寸,獲取可打印區(qū)域,包括:
[0016]根據(jù)獲取到的所述打印紙張尺寸,獲取預(yù)設(shè)置的與所述打印紙張尺寸對應(yīng)的可打印區(qū)域。
[0017]其中,所述可打印區(qū)域為由橫向最大打印像素點數(shù)和縱向最大打印像素點數(shù)所限定的區(qū)域。
[0018]其中,根據(jù)所述打印紙張尺寸和所述可打印區(qū)域,對待打印文檔中的待打印數(shù)據(jù)進行排版輸出,包括:
[0019]根據(jù)所述打印紙張尺寸和所述可打印區(qū)域,結(jié)合所述待打印數(shù)據(jù)的屬性信息和打印分辨率,確定所述可打印區(qū)域中的行最大的字符數(shù)量和最大行數(shù);
[0020]根據(jù)所確定的所述可打印區(qū)域中的行最大的字符數(shù)量和最大行數(shù),確定待打印文檔中的待打印數(shù)據(jù)的換行和分頁情況,改變待打印文檔在可打印區(qū)域的數(shù)據(jù)分布后輸出。
[0021]其中,根據(jù)所述打印紙張尺寸和所述可打印區(qū)域,對待打印文檔中的待打印數(shù)據(jù)進行排版輸出之后,還包括:
[0022]獲取排版輸出后的待打印文檔,將所述待打印文檔中的待打印數(shù)據(jù)轉(zhuǎn)化為可打印數(shù)據(jù),供打印機執(zhí)行打印作業(yè)。
[0023]其中,獲取由打印驅(qū)動所設(shè)定的打印紙張尺寸之前,還包括:
[0024]接收由打印驅(qū)動所設(shè)定的打印紙張尺寸,并存儲在數(shù)據(jù)結(jié)構(gòu)體中。
[0025]其中,獲取由打印驅(qū)動所設(shè)定的打印紙張尺寸,包括:
[0026]根據(jù)所述打印驅(qū)動內(nèi)的標(biāo)記信息,獲取存儲在所述數(shù)據(jù)結(jié)構(gòu)體中的、由所述打印驅(qū)動所設(shè)定的打印紙張尺寸。
[0027]本發(fā)明帶來了以下有益效果:在本發(fā)明實施例中,提供了一種打印方法,該打印方法為一種獲取由打印驅(qū)動所設(shè)定的打印紙張尺寸進行打印的方法。無論應(yīng)用程序有沒有編輯打印紙張尺寸的功能,都可根據(jù)用戶期望的打印紙張尺寸排版待打印數(shù)據(jù),降低由于用戶所用的打印紙張尺寸與應(yīng)用程序設(shè)置或者默認(rèn)的打印紙張尺寸不匹配造成的待打印數(shù)據(jù)丟失、打印質(zhì)量低等問題的發(fā)生的可能性,提高用戶的使用體驗度,為用戶提供便利。
[0028]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
【附圖說明】
[0029]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要的附圖做簡單的介紹:
[0030]圖1是本發(fā)明所提供的打印方法的流程示意圖;
[0031]圖2是本發(fā)明實施例一所提供的打印系統(tǒng)的結(jié)構(gòu)示意圖;
[0032]圖3是本發(fā)明所提供的可打印區(qū)域的示意圖;
[0033]圖4是本發(fā)明實施例一所提供的Π界面示意圖;
[0034]圖5是本發(fā)明實施例一所提供的打印方法的流程示意圖。
[0035]圖6是本發(fā)明實施例二所提供的打印系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0036]以下將結(jié)合附圖及實施例來詳細(xì)說明本發(fā)明的實施方式,借此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達成技術(shù)效果的實現(xiàn)過程能充分理解并據(jù)以實施。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個實施例以及各實施例中的各個特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護范圍之內(nèi)。
[0037]本發(fā)明實施例提供了一種打印方法,其中,如圖1所示,該打印方法包括:
[0038]步驟S101、獲取由打印驅(qū)動所設(shè)定的打印紙張尺寸。
[0039]步驟S102、根據(jù)獲取到的打印紙張尺寸,獲取可打印區(qū)域。
[0040]步驟S103、根據(jù)打印紙張尺寸和可打印區(qū)域,對待打印文檔中的待打印數(shù)據(jù)進行排版輸出,執(zhí)行打印作業(yè)。
[0041]其中,可打印區(qū)域可為由橫向最大打印像素點數(shù)和縱向最大打印像素點數(shù)限定的區(qū)域。則步驟S103具體包括:根據(jù)打印紙張尺寸和可打印區(qū)域,結(jié)合待打印數(shù)據(jù)的屬性信息和打印分辨率,確定可打印區(qū)域中的行最大字符數(shù)量和最大行數(shù)。之后,即可根據(jù)所確定的可打印區(qū)域中的行最大字符數(shù)量和最大行數(shù),確定待打印文檔中的待打印數(shù)據(jù)的換行和分頁情況,改變待打印文檔在可打印區(qū)域的數(shù)據(jù)分布后輸出。
[0042]需要說明的是,本發(fā)明實施例中的待打印文檔即為一個需要打印的文件,待打印數(shù)據(jù)即為該文件內(nèi)所承載的具體內(nèi)容。
[0043]在本發(fā)明實施例中,提供了一種打印方法,該打印方法為一種獲取由打印驅(qū)動所設(shè)定的打印紙張尺寸進行打印的方法。無論應(yīng)用程序有沒有編輯打印紙張尺寸的功能,都可根據(jù)用戶期望的打印紙張尺寸排版待打印數(shù)據(jù),降低由于用戶所用的打印紙張尺寸與應(yīng)用程序設(shè)置或者默認(rèn)的打印紙張尺寸不匹配造成的待打印數(shù)據(jù)的丟失、打印質(zhì)量低等問題的發(fā)生的可能性,提高用戶的使用體驗度,為用戶提供便利。
[0044]下面,分別以常見的Windows操作系統(tǒng)和Linux操作系統(tǒng)為例,對本發(fā)明的技術(shù)方案進行具體的說明:
[0045]實施例一
[0046]在Windows操作系統(tǒng)中,如圖2所示,打印系統(tǒng)大致包括應(yīng)用程序、GDI接口、打印驅(qū)動和打印機。
[0047]打印驅(qū)動是一種基于操作系統(tǒng)的圖形設(shè)備接口(Graphics Device Interface,簡稱GDI)而開發(fā)的,用于將各種應(yīng)用程序輸出的待打印文檔中的待打印數(shù)據(jù)轉(zhuǎn)化成打印機能解釋的二進制數(shù)據(jù),并輸出到打印機而開發(fā)的程序。通常應(yīng)用程序和打印驅(qū)動之間是不可以直接通信的,必須借助一些接口模塊來完成各種數(shù)據(jù)的傳遞。在windows操作系統(tǒng)中,應(yīng)用程序和打印驅(qū)動之間借助GDI接口模塊中的結(jié)構(gòu)體來完成信息的傳