專利名稱:利用gdi掛鉤技術(shù)實(shí)現(xiàn)浮水印打印的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)安全技術(shù)領(lǐng)域,涉及一種保護(hù)數(shù)據(jù)安全防止泄密的浮水印打印方法,尤其涉及一種利用GDI掛鉤技術(shù)實(shí)現(xiàn)浮水印打印的方法。
背景技術(shù):
目前,打印設(shè)備已廣泛應(yīng)用于辦公環(huán)境中,為人們帶來方便的同時(shí)也提高了機(jī)密信息外泄的風(fēng)險(xiǎn)度。為了對(duì)包含公司機(jī)密、財(cái)務(wù)等重要信息的文檔打印行為進(jìn)行授權(quán),需要一種打印簽名技術(shù),同時(shí),該簽名技術(shù)也為泄密溯源提供重要依據(jù)。當(dāng)前,打印簽名技術(shù)主要有兩種第一種是手動(dòng)模式,要求打印者或其他相關(guān)人員在打印的每一頁文件上進(jìn)行簽名,當(dāng)文件頁數(shù)很多時(shí),一一在每一頁上簽名非常耗費(fèi)人力和時(shí)間,效率很低;第二種是利用浮水印打印技術(shù)將簽名過程自動(dòng)化,在打印過程中,自動(dòng)為每頁嵌入浮水印,不但大大提高了工作效率,同時(shí)也保持了簽名內(nèi)容的統(tǒng)一性和準(zhǔn)確性。 在現(xiàn)有技術(shù)中,實(shí)現(xiàn)浮水印打印的方法是通過提供支持浮水印打印的打印機(jī)驅(qū)動(dòng)程序,由該驅(qū)動(dòng)程序?qū)⒏∷∏度氲酱蛴№撁嬷校瓿筛∷〈蛴∵^程。該方法必須先調(diào)整每臺(tái)打印機(jī)的驅(qū)動(dòng)程序設(shè)置,將原有的驅(qū)動(dòng)程序替換為支持浮水印打印的驅(qū)動(dòng)程序。在一個(gè)較大規(guī)模的網(wǎng)絡(luò)環(huán)境中,可能存在若干臺(tái)打印機(jī),調(diào)整網(wǎng)絡(luò)內(nèi)所有打印機(jī)的驅(qū)動(dòng)程序設(shè)置會(huì)消耗一定的人力和時(shí)間,產(chǎn)生額外成本,并且當(dāng)購(gòu)置新打印機(jī)或者移動(dòng)并重新安置打印機(jī)時(shí),也需要對(duì)其驅(qū)動(dòng)程序進(jìn)行調(diào)整。因此需要一種浮水印打印方法,在不替換打印機(jī)原有的打印機(jī)驅(qū)動(dòng)程序的前提下,實(shí)現(xiàn)浮水印打印。
發(fā)明內(nèi)容
本發(fā)明提供利用GDI (圖形設(shè)備接口)掛鉤技術(shù)實(shí)現(xiàn)浮水印打印的方法,用于解決現(xiàn)有技術(shù)中存在的不足之處。在不替換打印機(jī)驅(qū)動(dòng)程序的前提下,實(shí)現(xiàn)浮水印打印。為解決上述技術(shù)問題,本發(fā)明采用如下技術(shù)方案
利用GDI掛鉤技術(shù)實(shí)現(xiàn)浮水印打印的方法,包含以下步驟
a.獲取浮水印特征獲取浮水印特征,將該浮水印特征存儲(chǔ)在內(nèi)存中;
所述浮水印特征包括浮水印源類型、浮水印源值、透明度、角度;
所述浮水印源類型包括文本、圖片、手寫軌跡;
b.安裝打印過濾通過掛載GDI(圖形設(shè)備接口)的打印文檔事件通知例程,完成安裝打印過濾。c.捕獲打印操作利用打印過濾捕獲打印操作,獲取打印操作所攜帶的上下文信息;
所述上下文信息包括事件類型、設(shè)備上下文句柄(device context handle);
所述事件類型包括創(chuàng)建設(shè)備上下文、開始打印作業(yè)、開始頁面、結(jié)束頁面、結(jié)束打印作業(yè)、刪除設(shè)備上下文、重置設(shè)備上下文;d.分析打印操作根據(jù)打印操作所攜帶的上下文信息中的事件類型進(jìn)行判斷,如果事件類型是開始頁面,則繼續(xù)執(zhí)行步驟e ;如果事件類型不是開始頁面,則結(jié)束;
e.生成浮水印位圖倉(cāng)Il建一個(gè)兼容位圖(compatiblebitmap),根據(jù)所述浮水印源類型、透明度、角度,將浮水印源值繪制到所述兼容位圖中;
f.繪制浮水印將所述浮水印位圖繪制在打印頁面上。在所述步驟f中,將所述浮水印位圖繪制到打印頁面上,進(jìn)一步包括以下步驟
fI.獲取設(shè)備上下文句柄的背景混合模式(background mix mode),將該背景混合模式保存在內(nèi)存中;
f2.將設(shè)備上下文句柄的背景混合模式設(shè)置為透明模式; f3.將浮水印位圖繪制到打印頁面上;
f4.將設(shè)備上下文句柄的背景混合模式恢復(fù)為步驟fl中保存在內(nèi)存中的背景混合模式。本發(fā)明的有益效果在于該方法適用于不同類型的打印機(jī)設(shè)備,通過采用GDI掛鉤技術(shù),在不替換打印機(jī)驅(qū)動(dòng)程序的情況下,能夠?qū)υO(shè)置為文本、圖片、手寫軌跡的浮水印進(jìn)行準(zhǔn)確、快速打印,同時(shí),本方法與發(fā)起打印操作的應(yīng)用程序無關(guān),實(shí)現(xiàn)了浮水印打印的通用性,極大地提高了打印浮水印的效率,為打印行為授權(quán)和泄密溯源提供了高效的保護(hù)手段。
圖I是本發(fā)明的浮水印打印的方法的流程 圖2是本發(fā)明的浮水印打印的方法的步驟f的流程 圖3是本發(fā)明的實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)時(shí)方式和附圖,對(duì)本發(fā)明做進(jìn)一步詳細(xì)說明。在此,本發(fā)明實(shí)施例的示意性方式及其說明用于解釋本發(fā)明實(shí)施例,但不作為對(duì)本發(fā)明實(shí)施例的限定。如圖3所示,例如在一個(gè)大規(guī)模的網(wǎng)絡(luò)環(huán)境中,該網(wǎng)絡(luò)環(huán)境包括手寫繪圖輸入設(shè)備301、計(jì)算機(jī)302、打印服務(wù)器303、公共打印設(shè)備,該公共打印設(shè)備為一臺(tái)普通的打印機(jī)304,通過在計(jì)算機(jī)302上獲取浮水印特征、安裝打印過濾等操作,然后,實(shí)現(xiàn)打印機(jī)304將浮水印準(zhǔn)確、高效地打印出來。例如,打印人員在計(jì)算機(jī)302上打印一份頁數(shù)為100頁、文檔名稱為“公司年度財(cái)務(wù)報(bào)表.xls”的EXCEL文檔,為了保證公司財(cái)務(wù)報(bào)表輸出安全性,需要打印人員在公司財(cái)務(wù)報(bào)表的每一頁上以浮水印的方式簽上打印人員的姓名“韓梅”,打印人員通過在手寫繪圖輸入設(shè)備301上輸入“韓梅”,并且生成“簽名.jpg”圖片,通過USB接口將“簽名.jpg”保存至計(jì)算機(jī)302的D:\工作\路徑下。同時(shí),要求打印人員將“簽名.jpg”的透明度設(shè)置為80%,在公司財(cái)務(wù)報(bào)表上的角度設(shè)置為+15度(水平位置)。如圖I所示,本發(fā)明的利用GDI掛鉤技術(shù)實(shí)現(xiàn)浮水印打印方法的步驟如下
a.獲取浮水印特征101 :計(jì)算機(jī)302獲取浮水印特征浮水印源類型為圖片、浮水印源值為D:\工作\簽名.jpg、透明度80%、角度+15度(水平位置),并將所述浮水印特征存儲(chǔ)在內(nèi)存中;
b.安裝打印過濾102:計(jì)算機(jī)302通過掛載圖形設(shè)備接口(⑶I)的打印文檔事件通知例程,完成安裝打印過濾;
c.捕獲打印操作103:計(jì)算機(jī)302利用打印過濾捕獲打印操作,獲取打印操作所攜帶的事件類型“開始頁面”、設(shè)備上下文句柄(device context handle);
d.分析打印操作104:計(jì)算機(jī)302根據(jù)打印操作攜帶的事件類型進(jìn)行判斷,本實(shí)施例該事件類型是開始頁面,繼續(xù)執(zhí)行步驟e,以生成浮水印位圖;(如果事件類型不是開始頁面,則結(jié)束,不能生成浮水印位圖); e.生成浮水印位圖105;計(jì)算機(jī)302創(chuàng)建一個(gè)兼容位圖(compatible bitmap),將所述浮水印源類型“圖片”、浮水印源值“D: \工作\簽名.jpg”、透明度80%、角度+15度(水平位置)繪制到所述兼容位圖中;
f.繪制浮水印106:計(jì)算機(jī)302將所述兼容位圖繪制在打印頁面上,具體步驟以下 步驟201 :計(jì)算機(jī)302獲取步驟103捕獲到的設(shè)備上下文句柄的背景混合模式
(background mix mode) “非透明模式”,將該背景混合模式-“非透明模式”保存在內(nèi)存
中;
步驟202 :計(jì)算機(jī)302將所述設(shè)備上下文句柄的背景混合模式設(shè)置為透明模式;
步驟203 :計(jì)算機(jī)302將步驟105生成的兼容位圖繪制到打印頁面上;
步驟204 :計(jì)算機(jī)302將設(shè)備上下文句柄的背景混合模式“透明模式”恢復(fù)為步驟201保存在內(nèi)存中的“非透明模式”。通過上述方法,無需調(diào)整打印服務(wù)器303的驅(qū)動(dòng)程序,計(jì)算機(jī)302依據(jù)浮水印特征創(chuàng)建兼容位圖,并將該兼容位圖繪制在打印頁面上,然后,執(zhí)行通常的打印操作,打印機(jī)304即可完成頁數(shù)為100頁的公司財(cái)務(wù)報(bào)表.xls上嵌入透明度為80%、角度為+15度(水平位置)的文字簽名“韓梅”的打印過程。上述方法避免了通過人為的方式對(duì)頁數(shù)較多的文檔上進(jìn)行大量簽字的過程,節(jié)省了較多的時(shí)間,不但提高了簽字的工作效率,保證了簽字的準(zhǔn)確性和統(tǒng)一性,同時(shí)也提高了機(jī)密文檔的安全性,有效地杜絕了機(jī)密文檔的外泄行為。本發(fā)明的方法不但適用于圖片的浮水印樣式,而且也適用于手寫軌跡和文本。在較為復(fù)雜網(wǎng)絡(luò)環(huán)境下,通過采用GDI掛鉤技術(shù),無需替換打印機(jī)驅(qū)動(dòng)程序,都可實(shí)現(xiàn)浮水印的準(zhǔn)確打印,實(shí)現(xiàn)了浮水印打印的通用性,節(jié)省了大量的人力與物力,極大提高了工作效率。
權(quán)利要求
1.一種利用GDI掛鉤技術(shù)實(shí)現(xiàn)浮水印打印的方法,包含以下步驟 a.獲取浮水印特征獲取浮水印特征,將該浮水印特征存儲(chǔ)在內(nèi)存中; 所述浮水印特征包括浮水印源類型、浮水印源值、透明度、角度; 所述浮水印源類型包括文本、圖片、手寫軌跡; b.安裝打印過濾通過掛載GDI的打印文檔事件通知例程,完成安裝打印過濾; c.捕獲打印操作利用打印過濾捕獲打印操作,獲取打印操作所攜帶的上下文信息; 所述上下文信息包括事件類型、設(shè)備上下文句柄; 所述事件類型包括創(chuàng)建設(shè)備上下文、開始打印作業(yè)、開始頁面、結(jié)束頁面、結(jié)束打印作業(yè)、刪除設(shè)備上下文、重置設(shè)備上下文; d.分析打印操作根據(jù)打印操作所攜帶的上下文信息中的事件類型進(jìn)行判斷,如果事件類型是開始頁面,則繼續(xù)執(zhí)行步驟e ;如果事件類型不是開始頁面,則結(jié)束; e.生成浮水印位圖創(chuàng)建一個(gè)兼容位圖,根據(jù)所述浮水印源類型、透明度、角度,將浮水印源值繪制到所述兼容位圖中; f.繪制浮水印將所述浮水印位圖繪制在打印頁面上。
2.如權(quán)利要求I所述的利用GDI掛鉤技術(shù)實(shí)現(xiàn)浮水印打印的方法,其特征在于所述步驟f中將浮水印位圖繪制在打印頁面上,包括以下步驟 fl.獲取設(shè)備上下文句柄的背景混合模式,將該背景混合模式保存在內(nèi)存中; f2.將設(shè)備上下文句柄的背景混合模式設(shè)置為透明模式; f3.將浮水印位圖繪制到打印頁面上; f4.將設(shè)備上下文句柄的背景混合模式恢復(fù)為步驟fl中保存在內(nèi)存中的背景混合模式。
全文摘要
本發(fā)明公開了一種利用GDI掛鉤技術(shù)實(shí)現(xiàn)浮水印打印的方法,該方法包括獲取浮水印特征,安裝打印過濾,捕獲打印操作,分析打印操作,生成浮水印位圖,繪制浮水印,該方法適用于不同類型的打印機(jī)設(shè)備,通過采用GDI掛鉤技術(shù),在不替換打印機(jī)驅(qū)動(dòng)程序的情況下,能夠?qū)υO(shè)置為文本、圖片、手寫軌跡的浮水印進(jìn)行準(zhǔn)確、快速打印,同時(shí),本方法與發(fā)起打印操作的應(yīng)用程序無關(guān),實(shí)現(xiàn)了浮水印打印的通用性,極大地提高了打印浮水印的效率,為打印行為授權(quán)和泄密溯源提供了高效的保護(hù)手段。
文檔編號(hào)G06F3/12GK102866868SQ20121032772
公開日2013年1月9日 申請(qǐng)日期2012年9月7日 優(yōu)先權(quán)日2012年9月7日
發(fā)明者牟流, 金魁, 宋非 申請(qǐng)人:沈陽通用軟件有限公司