本發(fā)明涉及打印控制技術(shù)領(lǐng)域,具體而言,涉及一種打印控制方法、一種打印控制系統(tǒng)和一種終端。
背景技術(shù):
目前,在通用打印輸出領(lǐng)域使用的操作系統(tǒng)以windows平臺(tái)為主,在該操作系統(tǒng)平臺(tái)上進(jìn)行文檔的打印,主要使用兩種類型的打印驅(qū)動(dòng)程序來(lái)完成,一種是采用adobepostscript頁(yè)面語(yǔ)言的postscript驅(qū)動(dòng)程序,其中,adobepostscript頁(yè)面語(yǔ)言為一種適用于列印圖像和文字的編程語(yǔ)言,另外一種是采用hppcl(打印語(yǔ)言)頁(yè)面語(yǔ)言的pcl驅(qū)動(dòng)程序。
這兩種類型的驅(qū)動(dòng)程序都是把windows平臺(tái)相關(guān)的顯示和繪制api(應(yīng)用程序編程接口)調(diào)用轉(zhuǎn)換為對(duì)應(yīng)驅(qū)動(dòng)程序的描述語(yǔ)言,即postscript語(yǔ)言或pcl語(yǔ)言。由于postscript語(yǔ)言具有更豐富的頁(yè)面描述和處理能力,因此在中高端的打印場(chǎng)合中使用的更為廣泛。
然而,即使使用postscript語(yǔ)言獲取了更豐富的頁(yè)面描述和處理效果,通用打印輸出領(lǐng)域中對(duì)打印內(nèi)容的安全性仍無(wú)法進(jìn)行控制。目前,有些打印設(shè)備雖然支持一些簡(jiǎn)單的安全打印功能,但通常這些打印設(shè)備所支持的安全打印功能也僅僅局限于支持用戶的身份認(rèn)證或密碼輸入等簡(jiǎn)單的控制功能,這些處理方式并不能夠有效地從源頭對(duì)打印內(nèi)容進(jìn)行安全認(rèn)證和控制。
因此,如何在應(yīng)用postscript語(yǔ)言進(jìn)行打印作業(yè)的過(guò)程中提升打印作業(yè)的安全性,成為目前亟待解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明正是基于上述問(wèn)題,提出了一種新的技術(shù)方案,可以在應(yīng)用postscript語(yǔ)言進(jìn)行打印作業(yè)的過(guò)程中提升打印作業(yè)的安全性。
有鑒于此,本發(fā)明的一方面提出了一種打印控制方法,包括:根據(jù)接收到的打印命令,通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù);通過(guò)打印端口監(jiān)視模塊的第二鉤子函數(shù),確定所述postscript打印數(shù) 據(jù)是否滿足預(yù)定安全條件;當(dāng)確定所述postscript打印數(shù)據(jù)滿足所述預(yù)定安全條件時(shí),將所述postscript打印數(shù)據(jù)發(fā)送至打印模塊進(jìn)行打印。
在該技術(shù)方案中,第一鉤子函數(shù)為向postscript打印驅(qū)動(dòng)程序中注入的鉤子函數(shù),通過(guò)第一鉤子函數(shù)可以獲取打印作業(yè)過(guò)程中的postscript打印數(shù)據(jù),從而可以進(jìn)一步對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證,如果驗(yàn)證結(jié)果為postscript打印數(shù)據(jù)符合預(yù)定安全條件,說(shuō)明本次打印作業(yè)是安全的,可以執(zhí)行打印,如果postscript打印數(shù)據(jù)不符合預(yù)定安全條件,說(shuō)明本次打印作業(yè)不具有打印權(quán)限或具有安全信息泄露的隱患,則不允許執(zhí)行打印。
其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞。
通過(guò)該技術(shù)方案,可以按照預(yù)定安全條件對(duì)打印頁(yè)面進(jìn)行安全性驗(yàn)證,從而在應(yīng)用程序輸出打印頁(yè)面到物理打印設(shè)備前對(duì)打印頁(yè)面的內(nèi)容進(jìn)行安全檢查和審計(jì),提升了打印頁(yè)面輸出的安全性,同時(shí),自動(dòng)獲取postscript打印數(shù)據(jù)并對(duì)其進(jìn)行安全性的檢驗(yàn),也提升了對(duì)打印頁(yè)面進(jìn)行安全驗(yàn)證的靈活性,避免了用戶手動(dòng)輸入驗(yàn)證信息的繁瑣操作,提升了用戶體驗(yàn)。
在上述技術(shù)方案中,優(yōu)選地,在所述通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之前,還包括:根據(jù)接收到的設(shè)置命令,設(shè)置所述預(yù)定安全條件,并將所述預(yù)定安全條件存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中,其中,所述預(yù)定安全條件為對(duì)所述postscript打印數(shù)據(jù)的限定條件。
在該技術(shù)方案中,預(yù)定安全條件可以在設(shè)備出廠時(shí)進(jìn)行預(yù)先設(shè)置,也可以由用戶進(jìn)行手動(dòng)設(shè)置或更新,還可以由與終端相連的其他控制終端進(jìn)行設(shè)置和更改,其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞,還可以是根據(jù)需要除此之外的其他限制條件,預(yù)定的安全關(guān)鍵詞為一個(gè)或多個(gè),每個(gè)預(yù)定的安全關(guān)鍵詞具有至少一個(gè)字符。
另外,可以將預(yù)定安全條件存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)中,以便在對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證時(shí)方便地調(diào)用后臺(tái)數(shù)據(jù)庫(kù)中存儲(chǔ)的預(yù)定安全條件。
在上述任一技術(shù)方案中,優(yōu)選地,所述通過(guò)打印端口監(jiān)視模塊的第二鉤子函數(shù),確定所述postscript打印數(shù)據(jù)是否滿足預(yù)定安全條件,具體包 括:使用所述打印端口監(jiān)視模塊的所述第二鉤子函數(shù)對(duì)所述postscript打印數(shù)據(jù)進(jìn)行安全關(guān)鍵詞的檢索,其中,當(dāng)檢索到所述安全關(guān)鍵詞時(shí),禁止進(jìn)行打印,當(dāng)未檢索到所述安全關(guān)鍵詞時(shí),允許進(jìn)行打印。
在該技術(shù)方案中,第二鉤子函數(shù)為向postscript打印機(jī)的打印端口監(jiān)視模塊注入的輸出控制邏輯的鉤子函數(shù),通過(guò)第二鉤子函數(shù)檢索postscript打印數(shù)據(jù)中是否具有安全關(guān)鍵詞后,可以根據(jù)檢索結(jié)果,判斷最終是否能夠?qū)ostscript打印數(shù)據(jù)發(fā)送至物理打印模塊進(jìn)行打印。
其中,當(dāng)預(yù)定安全條件是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞時(shí),如果檢索到任一預(yù)定的安全關(guān)鍵詞,則禁止打印,如果所有預(yù)定的安全關(guān)鍵詞都未檢索到,則進(jìn)行打印。反之,當(dāng)預(yù)定安全條件是postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞時(shí),可以在檢索到全部預(yù)定的安全關(guān)鍵詞、任一預(yù)定的安全關(guān)鍵詞或第一預(yù)定數(shù)量的預(yù)定的安全關(guān)鍵詞時(shí),進(jìn)行打印,相應(yīng)地,在未檢索到全部預(yù)定的安全關(guān)鍵詞、或檢索到的預(yù)定的安全關(guān)鍵詞少于第二預(yù)定數(shù)量時(shí),禁止打印。
在上述任一技術(shù)方案中,優(yōu)選地,當(dāng)確定所述postscript打印數(shù)據(jù)不滿足所述預(yù)定安全條件時(shí),包括:將所述postscript打印數(shù)據(jù)生成pdf頁(yè)面;根據(jù)所述postscript打印數(shù)據(jù)中的文本位置數(shù)據(jù)和/或圖像內(nèi)文本位置數(shù)據(jù),在所述pdf頁(yè)面中對(duì)不符合所述預(yù)定安全條件的內(nèi)容和/或區(qū)域進(jìn)行標(biāo)注;將標(biāo)注后的pdf頁(yè)面發(fā)送至目標(biāo)對(duì)象。
在該技術(shù)方案中,可以根據(jù)postscript打印數(shù)據(jù)中的文本位置數(shù)據(jù)和/或圖像內(nèi)文本位置數(shù)據(jù),確定不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域的位置,并將打印頁(yè)面轉(zhuǎn)化為pdf(便攜式文檔格式)頁(yè)面,在pdf頁(yè)面中標(biāo)注這些不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域,使得終端的管理員或上級(jí)服務(wù)器等目標(biāo)對(duì)象可以直接看到不符合預(yù)定安全條件之處,便于進(jìn)一步對(duì)不能打印的頁(yè)面進(jìn)行處理,并通過(guò)pdf頁(yè)面的格式避免打印數(shù)據(jù)的泄露。
在上述任一技術(shù)方案中,優(yōu)選地,還包括:根據(jù)接收到的所述打印命令,獲取所述打印頁(yè)面的頁(yè)面基本信息,所述頁(yè)面基本信息包括以下至少之一或其組合:用戶名稱、作業(yè)頁(yè)面名稱、打印時(shí)間、打印份數(shù);在所述通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之前,還包括:根據(jù)接收到的設(shè)置命令,設(shè)置所述預(yù)定安全條件,并將所述預(yù)定安全條件存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中,其中,所述預(yù)定安全條件為對(duì)所述postscript打印 數(shù)據(jù)和所述頁(yè)面基本信息的限定條件;以及在所述通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之后,還包括:將所述postscript打印數(shù)據(jù)和所述頁(yè)面基本信息存儲(chǔ)至所述后臺(tái)數(shù)據(jù)庫(kù)中。
在該技術(shù)方案中,是否能夠進(jìn)行打印的驗(yàn)證條件不止包括postscript打印數(shù)據(jù),還可以包括打印頁(yè)面的頁(yè)面基本信息,其中,打印頁(yè)面的頁(yè)面基本信息包括但不限于以下至少之一或其組合:用戶名稱、作業(yè)頁(yè)面名稱、打印時(shí)間、打印份數(shù)。相應(yīng)地,預(yù)定安全條件可以包括對(duì)任一頁(yè)面基本信息的限制,比如,限制有效的打印時(shí)間段、限制打印份數(shù)不能超過(guò)三份等,預(yù)定安全條件也可以包括限定postscript打印數(shù)據(jù)和/或打印頁(yè)面的頁(yè)面基本信息中出現(xiàn)或不能出現(xiàn)預(yù)定的安全關(guān)鍵詞,其中,可以對(duì)預(yù)定的安全關(guān)鍵詞的數(shù)量進(jìn)行自由設(shè)定,從而使用戶可以根據(jù)自身需求自由設(shè)置所需甄別的安全關(guān)鍵詞,進(jìn)一步提升了打印安全控制的靈活性。
在上述任一技術(shù)方案中,優(yōu)選地,所述第一鉤子函數(shù)包括:頁(yè)面控制邏輯鉤子函數(shù)、文本輸出鉤子函數(shù)和圖像輸出鉤子函數(shù);所述postscript打印數(shù)據(jù)包括:所述打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù)、文本編碼數(shù)據(jù)、文本位置數(shù)據(jù)、圖像數(shù)據(jù)、圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù)。
在上述任一技術(shù)方案中,優(yōu)選地,所述通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù),包括:在應(yīng)用程序輸出所述打印頁(yè)面時(shí),通過(guò)所述頁(yè)面控制邏輯鉤子函數(shù)獲取生成所述打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù);和在所述應(yīng)用程序輸出所述打印頁(yè)面時(shí),通過(guò)所述文本輸出鉤子函數(shù)獲取所述文本編碼數(shù)據(jù)和所述文本位置數(shù)據(jù);和在所述應(yīng)用程序輸出所述打印頁(yè)面時(shí),通過(guò)所述圖像輸出鉤子函數(shù)獲取所述打印頁(yè)面中的圖像分段內(nèi)容,并根據(jù)圖像模式,把所述圖像分段內(nèi)容組合成所述圖像數(shù)據(jù);以及通過(guò)光學(xué)字符識(shí)別模塊在所述圖像數(shù)據(jù)中識(shí)別所述圖像內(nèi)文本編碼數(shù)據(jù)和所述圖像內(nèi)文本位置數(shù)據(jù)。
在該技術(shù)方案中,對(duì)于應(yīng)用程序輸出的打印頁(yè)面,可以通過(guò)不同的鉤子函數(shù)分別獲取對(duì)應(yīng)的postscript打印數(shù)據(jù)。其中,頁(yè)面控制邏輯鉤子函數(shù)用于獲取打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù);文本輸出鉤子函數(shù)用于獲取文本編碼數(shù)據(jù)和文本位置數(shù)據(jù),根據(jù)文本位置數(shù)據(jù)可以在打印頁(yè)面上將不符合預(yù)定安全條件的文本內(nèi)容和/區(qū)域標(biāo)注出來(lái);圖像輸出鉤子函數(shù)用于獲取圖像數(shù)據(jù),具體地,可使用圖像輸出鉤子函數(shù)獲取打印頁(yè)面中的圖像分段內(nèi)容,接下來(lái),可以根據(jù)單色二值、灰度和彩色等圖像模式把圖像分段 內(nèi)容組合成圖像數(shù)據(jù),通過(guò)光學(xué)字符識(shí)別模塊在圖像數(shù)據(jù)中識(shí)別圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù),根據(jù)圖像內(nèi)文本位置數(shù)據(jù)可以在打印頁(yè)面的圖像上將不符合預(yù)定安全條件的圖像內(nèi)文本內(nèi)容和/區(qū)域標(biāo)注出來(lái)。
通過(guò)該技術(shù)方案,針對(duì)不同的postscript打印數(shù)據(jù)提供了各自對(duì)應(yīng)的鉤子函數(shù),使得postscript打印數(shù)據(jù)的獲取更加靈活和準(zhǔn)確,從而進(jìn)一步提升了打印安全控制的有效性和安全性。
本發(fā)明的另一方面提出了一種打印控制系統(tǒng),包括:數(shù)據(jù)獲取單元,根據(jù)接收到的打印命令,通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù);安全條件驗(yàn)證單元,通過(guò)打印端口監(jiān)視模塊的第二鉤子函數(shù),確定所述postscript打印數(shù)據(jù)是否滿足預(yù)定安全條件;打印控制單元,當(dāng)確定所述postscript打印數(shù)據(jù)滿足所述預(yù)定安全條件時(shí),將所述postscript打印數(shù)據(jù)發(fā)送至打印模塊進(jìn)行打印。
在該技術(shù)方案中,第一鉤子函數(shù)為向postscript打印驅(qū)動(dòng)程序中注入的鉤子函數(shù),通過(guò)第一鉤子函數(shù)可以獲取打印作業(yè)過(guò)程中的postscript打印數(shù)據(jù),從而可以進(jìn)一步對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證,如果驗(yàn)證結(jié)果為postscript打印數(shù)據(jù)符合預(yù)定安全條件,說(shuō)明本次打印作業(yè)是安全的,可以執(zhí)行打印,如果postscript打印數(shù)據(jù)不符合預(yù)定安全條件,說(shuō)明本次打印作業(yè)不具有打印權(quán)限或具有安全信息泄露的隱患,則不允許執(zhí)行打印。
其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞。
通過(guò)該技術(shù)方案,可以按照預(yù)定安全條件對(duì)打印頁(yè)面進(jìn)行安全性驗(yàn)證,從而在應(yīng)用程序輸出打印頁(yè)面到物理打印設(shè)備前對(duì)打印頁(yè)面的內(nèi)容進(jìn)行安全檢查和審計(jì),提升了打印頁(yè)面輸出的安全性,同時(shí),自動(dòng)獲取postscript打印數(shù)據(jù)并對(duì)其進(jìn)行安全性的檢驗(yàn),也提升了對(duì)打印頁(yè)面進(jìn)行安全驗(yàn)證的靈活性,避免了用戶手動(dòng)輸入驗(yàn)證信息的繁瑣操作,提升了用戶體驗(yàn)。
在上述技術(shù)方案中,優(yōu)選地,還包括:安全條件設(shè)置單元,在所述通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之前,根據(jù)接收到的設(shè)置命令,設(shè)置所述預(yù)定安全條件,并將所述預(yù)定安全條件存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中,其中,所述預(yù)定安全條件為對(duì)所述postscript打印數(shù)據(jù)的限定 條件。
在該技術(shù)方案中,預(yù)定安全條件可以在設(shè)備出廠時(shí)進(jìn)行預(yù)先設(shè)置,也可以由用戶進(jìn)行手動(dòng)設(shè)置或更新,還可以由與終端相連的其他控制終端進(jìn)行設(shè)置和更改,其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞,還可以是根據(jù)需要除此之外的其他限制條件,預(yù)定的安全關(guān)鍵詞為一個(gè)或多個(gè),每個(gè)預(yù)定的安全關(guān)鍵詞具有至少一個(gè)字符。
另外,可以將預(yù)定安全條件存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)中,以便在對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證時(shí)方便地調(diào)用后臺(tái)數(shù)據(jù)庫(kù)中存儲(chǔ)的預(yù)定安全條件。
在上述任一技術(shù)方案中,優(yōu)選地,所述安全條件驗(yàn)證單元具體用于:使用所述打印端口監(jiān)視模塊的所述第二鉤子函數(shù)對(duì)所述postscript打印數(shù)據(jù)進(jìn)行安全關(guān)鍵詞的檢索,其中,當(dāng)檢索到所述安全關(guān)鍵詞時(shí),禁止進(jìn)行打印,當(dāng)未檢索到所述安全關(guān)鍵詞時(shí),允許進(jìn)行打印。
在該技術(shù)方案中,第二鉤子函數(shù)為向postscript打印機(jī)的打印端口監(jiān)視模塊注入的輸出控制邏輯的鉤子函數(shù),通過(guò)第二鉤子函數(shù)檢索postscript打印數(shù)據(jù)中是否具有安全關(guān)鍵詞后,可以根據(jù)檢索結(jié)果,判斷最終是否能夠?qū)ostscript打印數(shù)據(jù)發(fā)送至物理打印模塊進(jìn)行打印。
其中,當(dāng)預(yù)定安全條件是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞時(shí),如果檢索到任一預(yù)定的安全關(guān)鍵詞,則禁止打印,如果所有預(yù)定的安全關(guān)鍵詞都未檢索到,則進(jìn)行打印。反之,當(dāng)預(yù)定安全條件是postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞時(shí),可以在檢索到全部預(yù)定的安全關(guān)鍵詞、任一預(yù)定的安全關(guān)鍵詞或第一預(yù)定數(shù)量的預(yù)定的安全關(guān)鍵詞時(shí),進(jìn)行打印,相應(yīng)地,在未檢索到全部預(yù)定的安全關(guān)鍵詞、或檢索到的預(yù)定的安全關(guān)鍵詞少于第二預(yù)定數(shù)量時(shí),禁止打印。
在上述任一技術(shù)方案中,優(yōu)選地,所述打印控制單元包括:pdf頁(yè)面生成單元,當(dāng)確定所述postscript打印數(shù)據(jù)不滿足所述預(yù)定安全條件時(shí),將所述postscript打印數(shù)據(jù)生成pdf頁(yè)面;標(biāo)注單元,根據(jù)所述postscript打印數(shù)據(jù)中的文本位置數(shù)據(jù)和/或圖像內(nèi)文本位置數(shù)據(jù),在所述pdf頁(yè)面中對(duì)不符合所述預(yù)定安全條件的內(nèi)容和/或區(qū)域進(jìn)行標(biāo)注;pdf頁(yè)面發(fā)送單元,將標(biāo)注后的pdf頁(yè)面發(fā)送至目標(biāo)對(duì)象。
在該技術(shù)方案中,可以根據(jù)postscript打印數(shù)據(jù)中的文本位置數(shù)據(jù)和/ 或圖像內(nèi)文本位置數(shù)據(jù),確定不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域的位置,并將打印頁(yè)面轉(zhuǎn)化為pdf頁(yè)面,在pdf頁(yè)面中標(biāo)注這些不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域,使得終端的管理員或上級(jí)服務(wù)器等目標(biāo)對(duì)象可以直接看到不符合預(yù)定安全條件之處,便于進(jìn)一步對(duì)不能打印的頁(yè)面進(jìn)行處理,并通過(guò)pdf頁(yè)面的格式避免打印數(shù)據(jù)的泄露。
在上述任一技術(shù)方案中,優(yōu)選地,所述數(shù)據(jù)獲取單元還用于:根據(jù)接收到的所述打印命令,獲取所述打印頁(yè)面的頁(yè)面基本信息,所述頁(yè)面基本信息包括以下至少之一或其組合:用戶名稱、作業(yè)頁(yè)面名稱、打印時(shí)間、打印份數(shù);以及所述打印控制系統(tǒng)還包括:安全條件設(shè)置單元,在所述通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之前,根據(jù)接收到的設(shè)置命令,設(shè)置所述預(yù)定安全條件,并將所述預(yù)定安全條件存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中,其中,所述預(yù)定安全條件為對(duì)所述postscript打印數(shù)據(jù)和所述頁(yè)面基本信息的限定條件;存儲(chǔ)單元,在所述通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之后,將所述postscript打印數(shù)據(jù)和所述頁(yè)面基本信息存儲(chǔ)至所述后臺(tái)數(shù)據(jù)庫(kù)中。
在該技術(shù)方案中,是否能夠進(jìn)行打印的驗(yàn)證條件不止包括postscript打印數(shù)據(jù),還可以包括打印頁(yè)面的頁(yè)面基本信息,其中,打印頁(yè)面的頁(yè)面基本信息包括但不限于以下至少之一或其組合:用戶名稱、作業(yè)頁(yè)面名稱、打印時(shí)間、打印份數(shù)。相應(yīng)地,預(yù)定安全條件可以包括對(duì)任一頁(yè)面基本信息的限制,比如,限制有效的打印時(shí)間段、限制打印份數(shù)不能超過(guò)三份等,預(yù)定安全條件也可以包括限定postscript打印數(shù)據(jù)和/或打印頁(yè)面的頁(yè)面基本信息中出現(xiàn)或不能出現(xiàn)預(yù)定的安全關(guān)鍵詞,其中,可以對(duì)預(yù)定的安全關(guān)鍵詞的數(shù)量進(jìn)行自由設(shè)定,從而使用戶可以根據(jù)自身需求自由設(shè)置所需甄別的安全關(guān)鍵詞,進(jìn)一步提升了打印安全控制的靈活性。
在上述任一技術(shù)方案中,優(yōu)選地,所述第一鉤子函數(shù)包括:頁(yè)面控制邏輯鉤子函數(shù)、文本輸出鉤子函數(shù)和圖像輸出鉤子函數(shù);所述postscript打印數(shù)據(jù)包括:所述打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù)、文本編碼數(shù)據(jù)、文本位置數(shù)據(jù)、圖像數(shù)據(jù)、圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù)。
在上述任一技術(shù)方案中,優(yōu)選地,所述數(shù)據(jù)獲取單元包括:第一數(shù)據(jù)獲取子單元,在應(yīng)用程序輸出所述打印頁(yè)面時(shí),通過(guò)所述頁(yè)面控制邏輯鉤子函數(shù)獲取生成所述打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù);和第二數(shù)據(jù)獲取子單元,在所述應(yīng)用程序輸出所述打印頁(yè)面時(shí),通過(guò)所述文本輸出鉤子函數(shù)獲 取所述文本編碼數(shù)據(jù)和所述文本位置數(shù)據(jù);和第三數(shù)據(jù)獲取子單元,在所述應(yīng)用程序輸出所述打印頁(yè)面時(shí),通過(guò)所述圖像輸出鉤子函數(shù)獲取所述打印頁(yè)面中的圖像分段內(nèi)容;圖像數(shù)據(jù)合成單元,根據(jù)圖像模式,把所述圖像分段內(nèi)容組合成所述圖像數(shù)據(jù);識(shí)別單元,通過(guò)光學(xué)字符識(shí)別模塊在所述圖像數(shù)據(jù)中識(shí)別所述圖像內(nèi)文本編碼數(shù)據(jù)和所述圖像內(nèi)文本位置數(shù)據(jù)。
在該技術(shù)方案中,對(duì)于應(yīng)用程序輸出的打印頁(yè)面,可以通過(guò)不同的鉤子函數(shù)分別獲取對(duì)應(yīng)的postscript打印數(shù)據(jù)。其中,頁(yè)面控制邏輯鉤子函數(shù)用于獲取打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù);文本輸出鉤子函數(shù)用于獲取文本編碼數(shù)據(jù)和文本位置數(shù)據(jù),根據(jù)文本位置數(shù)據(jù)可以在打印頁(yè)面上將不符合預(yù)定安全條件的文本內(nèi)容和/區(qū)域標(biāo)注出來(lái);圖像輸出鉤子函數(shù)用于獲取圖像數(shù)據(jù),具體地,可使用圖像輸出鉤子函數(shù)獲取打印頁(yè)面中的圖像分段內(nèi)容,接下來(lái),可以根據(jù)單色二值、灰度和彩色等圖像模式把圖像分段內(nèi)容組合成圖像數(shù)據(jù),通過(guò)光學(xué)字符識(shí)別模塊在圖像數(shù)據(jù)中識(shí)別圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù),根據(jù)圖像內(nèi)文本位置數(shù)據(jù)可以在打印頁(yè)面的圖像上將不符合預(yù)定安全條件的圖像內(nèi)文本內(nèi)容和/區(qū)域標(biāo)注出來(lái)。
通過(guò)該技術(shù)方案,針對(duì)不同的postscript打印數(shù)據(jù)提供了各自對(duì)應(yīng)的鉤子函數(shù),使得postscript打印數(shù)據(jù)的獲取更加靈活和準(zhǔn)確,從而進(jìn)一步提升了打印安全控制的有效性和安全性。
本發(fā)明的再一方面提出了一種終端,包括上述技術(shù)方案中任一項(xiàng)所述的打印控制系統(tǒng),因此,該終端具有和上述技術(shù)方案中任一項(xiàng)所述的打印控制系統(tǒng)相同的技術(shù)效果,在此不再贅述。其中,該終端可以是打印裝置,也可以是對(duì)打印裝置進(jìn)行控制的電腦、手機(jī)等控制終端。
通過(guò)以上技術(shù)方案,可按照預(yù)定安全條件對(duì)打印頁(yè)面進(jìn)行安全性驗(yàn)證,在應(yīng)用程序輸出打印頁(yè)面到物理打印設(shè)備前對(duì)打印頁(yè)面的內(nèi)容進(jìn)行安全檢查和審計(jì),提升了打印頁(yè)面輸出的安全性,而自動(dòng)獲取postscript打印數(shù)據(jù)并對(duì)其進(jìn)行安全性的檢驗(yàn),也提升了對(duì)打印頁(yè)面進(jìn)行安全驗(yàn)證的靈活性,避免了用戶手動(dòng)輸入驗(yàn)證信息的繁瑣操作。
附圖說(shuō)明
圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的打印控制方法的流程圖;
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的打印控制系統(tǒng)的框圖;
圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端的框圖;
圖4示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的打印控制方法的流程圖;
圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的打印控制系統(tǒng)中的后臺(tái)數(shù)據(jù)庫(kù)的框圖。
具體實(shí)施方式
為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開(kāi)的具體實(shí)施例的限制。
圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的打印控制方法的流程圖。
如圖1所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的打印控制方法,包括:
步驟102,根據(jù)接收到的打印命令,通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù);
步驟104,通過(guò)打印端口監(jiān)視模塊的第二鉤子函數(shù),確定postscript打印數(shù)據(jù)是否滿足預(yù)定安全條件;
步驟106,當(dāng)確定postscript打印數(shù)據(jù)滿足預(yù)定安全條件時(shí),將postscript打印數(shù)據(jù)發(fā)送至打印模塊進(jìn)行打印。
在該技術(shù)方案中,第一鉤子函數(shù)為向postscript打印驅(qū)動(dòng)程序中注入的鉤子函數(shù),通過(guò)第一鉤子函數(shù)可以獲取打印作業(yè)過(guò)程中的postscript打印數(shù)據(jù),從而可以進(jìn)一步對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證,如果驗(yàn)證結(jié)果為postscript打印數(shù)據(jù)符合預(yù)定安全條件,說(shuō)明本次打印作業(yè)是安全的,可以執(zhí)行打印,如果postscript打印數(shù)據(jù)不符合預(yù)定安全條件,說(shuō)明本次打印作業(yè)不具有打印權(quán)限或具有安全信息泄露的隱患,則不允許執(zhí)行打印。
其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞。
通過(guò)該技術(shù)方案,可以按照預(yù)定安全條件對(duì)打印頁(yè)面進(jìn)行安全性驗(yàn)證,從而在應(yīng)用程序輸出打印頁(yè)面到物理打印設(shè)備前對(duì)打印頁(yè)面的內(nèi)容進(jìn)行安全檢查和審計(jì),提升了打印頁(yè)面輸出的安全性,同時(shí),自動(dòng)獲取 postscript打印數(shù)據(jù)并對(duì)其進(jìn)行安全性的檢驗(yàn),也提升了對(duì)打印頁(yè)面進(jìn)行安全驗(yàn)證的靈活性,避免了用戶手動(dòng)輸入驗(yàn)證信息的繁瑣操作,提升了用戶體驗(yàn)。
在上述技術(shù)方案中,優(yōu)選地,在步驟102之前,還包括:根據(jù)接收到的設(shè)置命令,設(shè)置預(yù)定安全條件,并將預(yù)定安全條件存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中,其中,預(yù)定安全條件為對(duì)postscript打印數(shù)據(jù)的限定條件。
在該技術(shù)方案中,預(yù)定安全條件可以在設(shè)備出廠時(shí)進(jìn)行預(yù)先設(shè)置,也可以由用戶進(jìn)行手動(dòng)設(shè)置或更新,還可以由與終端相連的其他控制終端進(jìn)行設(shè)置和更改,其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞,還可以是根據(jù)需要除此之外的其他限制條件,預(yù)定的安全關(guān)鍵詞為一個(gè)或多個(gè),每個(gè)預(yù)定的安全關(guān)鍵詞具有至少一個(gè)字符。
另外,可以將預(yù)定安全條件存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)中,以便在對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證時(shí)方便地調(diào)用后臺(tái)數(shù)據(jù)庫(kù)中存儲(chǔ)的預(yù)定安全條件。
在上述任一技術(shù)方案中,優(yōu)選地,步驟104具體包括:使用打印端口監(jiān)視模塊的第二鉤子函數(shù)對(duì)postscript打印數(shù)據(jù)進(jìn)行安全關(guān)鍵詞的檢索,其中,當(dāng)檢索到安全關(guān)鍵詞時(shí),禁止進(jìn)行打印,當(dāng)未檢索到安全關(guān)鍵詞時(shí),允許進(jìn)行打印。
在該技術(shù)方案中,第二鉤子函數(shù)為向postscript打印機(jī)的打印端口監(jiān)視模塊注入的輸出控制邏輯的鉤子函數(shù),通過(guò)第二鉤子函數(shù)檢索postscript打印數(shù)據(jù)中是否具有安全關(guān)鍵詞后,可以根據(jù)檢索結(jié)果,判斷最終是否能夠?qū)ostscript打印數(shù)據(jù)發(fā)送至物理打印模塊進(jìn)行打印。
其中,當(dāng)預(yù)定安全條件是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞時(shí),如果檢索到任一預(yù)定的安全關(guān)鍵詞,則禁止打印,如果所有預(yù)定的安全關(guān)鍵詞都未檢索到,則進(jìn)行打印。反之,當(dāng)預(yù)定安全條件是postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞時(shí),可以在檢索到全部預(yù)定的安全關(guān)鍵詞、任一預(yù)定的安全關(guān)鍵詞或第一預(yù)定數(shù)量的預(yù)定的安全關(guān)鍵詞時(shí),進(jìn)行打印,相應(yīng)地,在未檢索到全部預(yù)定的安全關(guān)鍵詞、或檢索到的預(yù)定的安全關(guān)鍵詞少于第二預(yù)定數(shù)量時(shí),禁止打印。
在上述任一技術(shù)方案中,優(yōu)選地,在步驟106中,當(dāng)確定postscript打印數(shù)據(jù)不滿足預(yù)定安全條件時(shí),包括:將postscript打印數(shù)據(jù)生成pdf 頁(yè)面;根據(jù)postscript打印數(shù)據(jù)中的文本位置數(shù)據(jù)和/或圖像內(nèi)文本位置數(shù)據(jù),在pdf頁(yè)面中對(duì)不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域進(jìn)行標(biāo)注;將標(biāo)注后的pdf頁(yè)面發(fā)送至目標(biāo)對(duì)象。
在該技術(shù)方案中,可以根據(jù)postscript打印數(shù)據(jù)中的文本位置數(shù)據(jù)和/或圖像內(nèi)文本位置數(shù)據(jù),確定不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域的位置,并將打印頁(yè)面轉(zhuǎn)化為pdf頁(yè)面,在pdf頁(yè)面中標(biāo)注這些不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域,使得終端的管理員或上級(jí)服務(wù)器等目標(biāo)對(duì)象可以直接看到不符合預(yù)定安全條件之處,便于進(jìn)一步對(duì)不能打印的頁(yè)面進(jìn)行處理,并通過(guò)pdf頁(yè)面的格式避免打印數(shù)據(jù)的泄露。
在上述任一技術(shù)方案中,優(yōu)選地,還包括:根據(jù)接收到的打印命令,獲取打印頁(yè)面的頁(yè)面基本信息,頁(yè)面基本信息包括以下至少之一或其組合:用戶名稱、作業(yè)頁(yè)面名稱、打印時(shí)間、打印份數(shù);在步驟102之前,還包括:根據(jù)接收到的設(shè)置命令,設(shè)置預(yù)定安全條件,并將預(yù)定安全條件存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中,其中,預(yù)定安全條件為對(duì)postscript打印數(shù)據(jù)和頁(yè)面基本信息的限定條件;以及在步驟102之后,還包括:將postscript打印數(shù)據(jù)和頁(yè)面基本信息存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中。
在該技術(shù)方案中,是否能夠進(jìn)行打印的驗(yàn)證條件不止包括postscript打印數(shù)據(jù),還可以包括打印頁(yè)面的頁(yè)面基本信息,其中,打印頁(yè)面的頁(yè)面基本信息包括但不限于以下至少之一或其組合:用戶名稱、作業(yè)頁(yè)面名稱、打印時(shí)間、打印份數(shù)。相應(yīng)地,預(yù)定安全條件可以包括對(duì)任一頁(yè)面基本信息的限制,比如,限制有效的打印時(shí)間段、限制打印份數(shù)不能超過(guò)三份等,預(yù)定安全條件也可以包括限定postscript打印數(shù)據(jù)和/或打印頁(yè)面的頁(yè)面基本信息中出現(xiàn)或不能出現(xiàn)預(yù)定的安全關(guān)鍵詞,其中,可以對(duì)預(yù)定的安全關(guān)鍵詞的數(shù)量進(jìn)行自由設(shè)定,從而使用戶可以根據(jù)自身需求自由設(shè)置所需甄別的安全關(guān)鍵詞,進(jìn)一步提升了打印安全控制的靈活性。
在上述任一技術(shù)方案中,優(yōu)選地,第一鉤子函數(shù)包括:頁(yè)面控制邏輯鉤子函數(shù)、文本輸出鉤子函數(shù)和圖像輸出鉤子函數(shù);postscript打印數(shù)據(jù)包括:打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù)、文本編碼數(shù)據(jù)、文本位置數(shù)據(jù)、圖像數(shù)據(jù)、圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù)。
在上述任一技術(shù)方案中,優(yōu)選地,步驟102包括:在應(yīng)用程序輸出打印頁(yè)面時(shí),通過(guò)頁(yè)面控制邏輯鉤子函數(shù)獲取生成打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù);和在應(yīng)用程序輸出打印頁(yè)面時(shí),通過(guò)文本輸出鉤子函數(shù)獲取文本編 碼數(shù)據(jù)和文本位置數(shù)據(jù);和在應(yīng)用程序輸出打印頁(yè)面時(shí),通過(guò)圖像輸出鉤子函數(shù)獲取打印頁(yè)面中的圖像分段內(nèi)容,并根據(jù)圖像模式,把圖像分段內(nèi)容組合成圖像數(shù)據(jù);以及通過(guò)光學(xué)字符識(shí)別模塊在圖像數(shù)據(jù)中識(shí)別圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù)。
在該技術(shù)方案中,對(duì)于應(yīng)用程序輸出的打印頁(yè)面,可以通過(guò)不同的鉤子函數(shù)分別獲取對(duì)應(yīng)的postscript打印數(shù)據(jù)。其中,頁(yè)面控制邏輯鉤子函數(shù)用于獲取打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù);文本輸出鉤子函數(shù)用于獲取文本編碼數(shù)據(jù)和文本位置數(shù)據(jù),根據(jù)文本位置數(shù)據(jù)可以在打印頁(yè)面上將不符合預(yù)定安全條件的文本內(nèi)容和/區(qū)域標(biāo)注出來(lái);圖像輸出鉤子函數(shù)用于獲取圖像數(shù)據(jù),具體地,可使用圖像輸出鉤子函數(shù)獲取打印頁(yè)面中的圖像分段內(nèi)容,接下來(lái),可以根據(jù)單色二值、灰度和彩色等圖像模式把圖像分段內(nèi)容組合成圖像數(shù)據(jù),通過(guò)光學(xué)字符識(shí)別模塊在圖像數(shù)據(jù)中識(shí)別圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù),根據(jù)圖像內(nèi)文本位置數(shù)據(jù)可以在打印頁(yè)面的圖像上將不符合預(yù)定安全條件的圖像內(nèi)文本內(nèi)容和/區(qū)域標(biāo)注出來(lái)。
通過(guò)該技術(shù)方案,針對(duì)不同的postscript打印數(shù)據(jù)提供了各自對(duì)應(yīng)的鉤子函數(shù),使得postscript打印數(shù)據(jù)的獲取更加靈活和準(zhǔn)確,從而進(jìn)一步提升了打印安全控制的有效性和安全性。
圖2示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的打印控制系統(tǒng)的框圖。
如圖2所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的打印控制系統(tǒng)200,包括:數(shù)據(jù)獲取單元202、安全條件驗(yàn)證單元204和打印控制單元206。
其中,數(shù)據(jù)獲取單元202用于根據(jù)接收到的打印命令,通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù);安全條件驗(yàn)證單元204用于通過(guò)打印端口監(jiān)視模塊的第二鉤子函數(shù),確定postscript打印數(shù)據(jù)是否滿足預(yù)定安全條件;打印控制單元206用于當(dāng)確定postscript打印數(shù)據(jù)滿足預(yù)定安全條件時(shí),將postscript打印數(shù)據(jù)發(fā)送至打印模塊進(jìn)行打印。
在該技術(shù)方案中,第一鉤子函數(shù)為向postscript打印驅(qū)動(dòng)程序中注入的鉤子函數(shù),通過(guò)第一鉤子函數(shù)可以獲取打印作業(yè)過(guò)程中的postscript打印數(shù)據(jù),從而可以進(jìn)一步對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證,如果驗(yàn)證結(jié)果為postscript打印數(shù)據(jù)符合預(yù)定安全條件,說(shuō)明本次打印作業(yè)是安全的,可以執(zhí)行打印,如果postscript打印數(shù)據(jù)不符合預(yù)定安全條件,說(shuō)明本次打印作業(yè)不具有打印權(quán)限或具有安全信息泄露的隱患,則不允許執(zhí)行打 印。
其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞。
通過(guò)該技術(shù)方案,可以按照預(yù)定安全條件對(duì)打印頁(yè)面進(jìn)行安全性驗(yàn)證,從而在應(yīng)用程序輸出打印頁(yè)面到物理打印設(shè)備前對(duì)打印頁(yè)面的內(nèi)容進(jìn)行安全檢查和審計(jì),提升了打印頁(yè)面輸出的安全性,同時(shí),自動(dòng)獲取postscript打印數(shù)據(jù)并對(duì)其進(jìn)行安全性的檢驗(yàn),也提升了對(duì)打印頁(yè)面進(jìn)行安全驗(yàn)證的靈活性,避免了用戶手動(dòng)輸入驗(yàn)證信息的繁瑣操作,提升了用戶體驗(yàn)。
在上述技術(shù)方案中,優(yōu)選地,還包括:安全條件設(shè)置單元208,在通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之前,根據(jù)接收到的設(shè)置命令,設(shè)置預(yù)定安全條件,并將預(yù)定安全條件存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中,其中,預(yù)定安全條件為對(duì)postscript打印數(shù)據(jù)的限定條件。
在該技術(shù)方案中,預(yù)定安全條件可以在設(shè)備出廠時(shí)進(jìn)行預(yù)先設(shè)置,也可以由用戶進(jìn)行手動(dòng)設(shè)置或更新,還可以由與終端相連的其他控制終端進(jìn)行設(shè)置和更改,其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞,還可以是根據(jù)需要除此之外的其他限制條件,預(yù)定的安全關(guān)鍵詞為一個(gè)或多個(gè),每個(gè)預(yù)定的安全關(guān)鍵詞具有至少一個(gè)字符。
另外,可以將預(yù)定安全條件存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)中,以便在對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證時(shí)方便地調(diào)用后臺(tái)數(shù)據(jù)庫(kù)中存儲(chǔ)的預(yù)定安全條件。
在上述任一技術(shù)方案中,優(yōu)選地,安全條件驗(yàn)證單元204具體用于:使用打印端口監(jiān)視模塊的第二鉤子函數(shù)對(duì)postscript打印數(shù)據(jù)進(jìn)行安全關(guān)鍵詞的檢索,其中,當(dāng)檢索到安全關(guān)鍵詞時(shí),禁止進(jìn)行打印,當(dāng)未檢索到安全關(guān)鍵詞時(shí),允許進(jìn)行打印。
在該技術(shù)方案中,第二鉤子函數(shù)為向postscript打印機(jī)的打印端口監(jiān)視模塊注入的輸出控制邏輯的鉤子函數(shù),通過(guò)第二鉤子函數(shù)檢索postscript打印數(shù)據(jù)中是否具有安全關(guān)鍵詞后,可以根據(jù)檢索結(jié)果,判斷最終是否能夠?qū)ostscript打印數(shù)據(jù)發(fā)送至物理打印模塊進(jìn)行打印。
其中,當(dāng)預(yù)定安全條件是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞時(shí),如果檢索到任一預(yù)定的安全關(guān)鍵詞,則禁止打印,如果所有預(yù) 定的安全關(guān)鍵詞都未檢索到,則進(jìn)行打印。反之,當(dāng)預(yù)定安全條件是postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞時(shí),可以在檢索到全部預(yù)定的安全關(guān)鍵詞、任一預(yù)定的安全關(guān)鍵詞或第一預(yù)定數(shù)量的預(yù)定的安全關(guān)鍵詞時(shí),進(jìn)行打印,相應(yīng)地,在未檢索到全部預(yù)定的安全關(guān)鍵詞、或檢索到的預(yù)定的安全關(guān)鍵詞少于第二預(yù)定數(shù)量時(shí),禁止打印。
在上述任一技術(shù)方案中,優(yōu)選地,打印控制單元206包括:pdf頁(yè)面生成單元2062,當(dāng)確定postscript打印數(shù)據(jù)不滿足預(yù)定安全條件時(shí),將postscript打印數(shù)據(jù)生成pdf頁(yè)面;標(biāo)注單元2064,根據(jù)postscript打印數(shù)據(jù)中的文本位置數(shù)據(jù)和/或圖像內(nèi)文本位置數(shù)據(jù),在pdf頁(yè)面中對(duì)不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域進(jìn)行標(biāo)注;pdf頁(yè)面發(fā)送單元2066,將標(biāo)注后的pdf頁(yè)面發(fā)送至目標(biāo)對(duì)象。
在該技術(shù)方案中,可以根據(jù)postscript打印數(shù)據(jù)中的文本位置數(shù)據(jù)和/或圖像內(nèi)文本位置數(shù)據(jù),確定不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域的位置,并將打印頁(yè)面轉(zhuǎn)化為pdf頁(yè)面,在pdf頁(yè)面中標(biāo)注這些不符合預(yù)定安全條件的內(nèi)容和/或區(qū)域,使得終端的管理員或上級(jí)服務(wù)器等目標(biāo)對(duì)象可以直接看到不符合預(yù)定安全條件之處,便于進(jìn)一步對(duì)不能打印的頁(yè)面進(jìn)行處理,并通過(guò)pdf頁(yè)面的格式避免打印數(shù)據(jù)的泄露。
在上述任一技術(shù)方案中,優(yōu)選地,數(shù)據(jù)獲取單元202還用于:根據(jù)接收到的打印命令,獲取打印頁(yè)面的頁(yè)面基本信息,頁(yè)面基本信息包括以下至少之一或其組合:用戶名稱、作業(yè)頁(yè)面名稱、打印時(shí)間、打印份數(shù);安全條件設(shè)置單元208可以用于在通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之前,根據(jù)接收到的設(shè)置命令,設(shè)置預(yù)定安全條件,并將預(yù)定安全條件存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中,其中,預(yù)定安全條件為對(duì)postscript打印數(shù)據(jù)和頁(yè)面基本信息的限定條件;存儲(chǔ)單元210,在通過(guò)第一鉤子函數(shù)從打印頁(yè)面中獲取postscript打印數(shù)據(jù)之后,將postscript打印數(shù)據(jù)和頁(yè)面基本信息存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中。
在該技術(shù)方案中,是否能夠進(jìn)行打印的驗(yàn)證條件不止包括postscript打印數(shù)據(jù),還可以包括打印頁(yè)面的頁(yè)面基本信息,其中,打印頁(yè)面的頁(yè)面基本信息包括但不限于以下至少之一或其組合:用戶名稱、作業(yè)頁(yè)面名稱、打印時(shí)間、打印份數(shù)。相應(yīng)地,預(yù)定安全條件可以包括對(duì)任一頁(yè)面基本信息的限制,比如,限制有效的打印時(shí)間段、限制打印份數(shù)不能超過(guò)三份等,預(yù)定安全條件也可以包括限定postscript打印數(shù)據(jù)和/或打印頁(yè)面的 頁(yè)面基本信息中出現(xiàn)或不能出現(xiàn)預(yù)定的安全關(guān)鍵詞,其中,可以對(duì)預(yù)定的安全關(guān)鍵詞的數(shù)量進(jìn)行自由設(shè)定,從而使用戶可以根據(jù)自身需求自由設(shè)置所需甄別的安全關(guān)鍵詞,進(jìn)一步提升了打印安全控制的靈活性。
在上述任一技術(shù)方案中,優(yōu)選地,第一鉤子函數(shù)包括:頁(yè)面控制邏輯鉤子函數(shù)、文本輸出鉤子函數(shù)和圖像輸出鉤子函數(shù);postscript打印數(shù)據(jù)包括:打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù)、文本編碼數(shù)據(jù)、文本位置數(shù)據(jù)、圖像數(shù)據(jù)、圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù)。
在上述任一技術(shù)方案中,優(yōu)選地,數(shù)據(jù)獲取單元202包括:第一數(shù)據(jù)獲取子單元2022,在應(yīng)用程序輸出打印頁(yè)面時(shí),通過(guò)頁(yè)面控制邏輯鉤子函數(shù)獲取生成打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù);和第二數(shù)據(jù)獲取子單元2024,在應(yīng)用程序輸出打印頁(yè)面時(shí),通過(guò)文本輸出鉤子函數(shù)獲取文本編碼數(shù)據(jù)和文本位置數(shù)據(jù);和第三數(shù)據(jù)獲取子單元2026,在應(yīng)用程序輸出打印頁(yè)面時(shí),通過(guò)圖像輸出鉤子函數(shù)獲取打印頁(yè)面中的圖像分段內(nèi)容;圖像數(shù)據(jù)合成單元2028,根據(jù)圖像模式,把圖像分段內(nèi)容組合成圖像數(shù)據(jù);識(shí)別單元20210,通過(guò)光學(xué)字符識(shí)別模塊在圖像數(shù)據(jù)中識(shí)別圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù)。
在該技術(shù)方案中,對(duì)于應(yīng)用程序輸出的打印頁(yè)面,可以通過(guò)不同的鉤子函數(shù)分別獲取對(duì)應(yīng)的postscript打印數(shù)據(jù)。其中,頁(yè)面控制邏輯鉤子函數(shù)用于獲取打印頁(yè)面的頁(yè)面控制邏輯數(shù)據(jù);文本輸出鉤子函數(shù)用于獲取文本編碼數(shù)據(jù)和文本位置數(shù)據(jù),根據(jù)文本位置數(shù)據(jù)可以在打印頁(yè)面上將不符合預(yù)定安全條件的文本內(nèi)容和/區(qū)域標(biāo)注出來(lái);圖像輸出鉤子函數(shù)用于獲取圖像數(shù)據(jù),具體地,可使用圖像輸出鉤子函數(shù)獲取打印頁(yè)面中的圖像分段內(nèi)容,接下來(lái),可以根據(jù)單色二值、灰度和彩色等圖像模式把圖像分段內(nèi)容組合成圖像數(shù)據(jù),通過(guò)光學(xué)字符識(shí)別模塊在圖像數(shù)據(jù)中識(shí)別圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù),根據(jù)圖像內(nèi)文本位置數(shù)據(jù)可以在打印頁(yè)面的圖像上將不符合預(yù)定安全條件的圖像內(nèi)文本內(nèi)容和/區(qū)域標(biāo)注出來(lái)。
通過(guò)該技術(shù)方案,針對(duì)不同的postscript打印數(shù)據(jù)提供了各自對(duì)應(yīng)的鉤子函數(shù),使得postscript打印數(shù)據(jù)的獲取更加靈活和準(zhǔn)確,從而進(jìn)一步提升了打印安全控制的有效性和安全性。
圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端的框圖。
如圖3所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端300,包括圖2示出的 打印控制系統(tǒng)200,因此,該終端300具有和圖2示出的打印控制系統(tǒng)200相同的技術(shù)效果,在此不再贅述。其中,該終端可以是打印裝置,也可以是對(duì)打印裝置進(jìn)行控制的電腦、手機(jī)等控制終端。
圖4示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的打印控制方法的流程圖。
如圖4所示,根據(jù)本發(fā)明的另一個(gè)實(shí)施例的打印控制方法,包括:
步驟402,應(yīng)用程序接收到打印命令,開(kāi)始打印作業(yè)。
步驟404,利用打印驅(qū)動(dòng)鉤子函數(shù)獲取打印頁(yè)面的頁(yè)面邏輯、文本內(nèi)容及其位置。
步驟406,將文本內(nèi)容及其位置存儲(chǔ)至后臺(tái)數(shù)據(jù)庫(kù)中。
步驟408,通過(guò)已綁定的打印端口鉤子函數(shù),在后天數(shù)據(jù)庫(kù)中對(duì)文本內(nèi)容進(jìn)行掃描。
步驟410,判斷文本內(nèi)容是否符合預(yù)定安全條件,當(dāng)判斷結(jié)果為是時(shí),進(jìn)入步驟412,當(dāng)判斷結(jié)果為否時(shí),進(jìn)入步驟414。
步驟412,將打印頁(yè)面發(fā)送至物理打印模塊進(jìn)行打印。
步驟414,將打印頁(yè)面轉(zhuǎn)換為帶pdf標(biāo)記的pdf頁(yè)面文件,發(fā)送至目標(biāo)對(duì)象。
針對(duì)postscript打印驅(qū)動(dòng)程序,可以綁定頁(yè)面控制邏輯、文本輸出的打印驅(qū)動(dòng)鉤子函數(shù),從而在上層應(yīng)用程序調(diào)用打印驅(qū)動(dòng)程序輸出的同時(shí),利用打印驅(qū)動(dòng)鉤子函數(shù)獲取打印頁(yè)面的頁(yè)面邏輯、文本內(nèi)容及其位置。同時(shí),還可以針對(duì)postscript打印機(jī)的端口監(jiān)視器程序綁定打印端口鉤子函數(shù),以控制是否允許postscript打印數(shù)據(jù)發(fā)送到物理打印模塊進(jìn)行打印。
其中,打印驅(qū)動(dòng)鉤子函數(shù)包括頁(yè)面控制邏輯鉤子函數(shù),頁(yè)面控制邏輯包括文檔的開(kāi)始和關(guān)閉、頁(yè)面的開(kāi)始和關(guān)閉、頁(yè)面的發(fā)送5個(gè)控制邏輯,這些邏輯用于控制打印內(nèi)容的生成,也就是控制postscript打印數(shù)據(jù)的生成。打印驅(qū)動(dòng)鉤子函數(shù)還包括文本輸出鉤子函數(shù),文本輸出鉤子函數(shù)用于在捕獲上層應(yīng)用程序輸出的文本時(shí),獲取文本的編碼內(nèi)容以及文本當(dāng)前在頁(yè)面上的位置信息。
另外,打印驅(qū)動(dòng)鉤子函數(shù)中還包括圖像輸出鉤子函數(shù),圖像輸出鉤子函數(shù)用于在捕獲上層應(yīng)用程序輸出的圖像內(nèi)容時(shí),獲取圖像的分段內(nèi)容,并根據(jù)圖像模式(單色二值、灰度和彩色),把分段輸出的圖像數(shù)據(jù)組織成整頁(yè)的圖像數(shù)據(jù),并把整頁(yè)的圖像數(shù)據(jù)送入到ocr模塊(光學(xué)字符識(shí)別模塊)中進(jìn)行識(shí)別,從而獲取圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù) 據(jù),也就是說(shuō),打印驅(qū)動(dòng)鉤子函數(shù)還可以用于獲取圖像內(nèi)具有的文本編碼數(shù)據(jù)及圖像內(nèi)文本的位置數(shù)據(jù)(在圖4中未示出)。
打印驅(qū)動(dòng)鉤子函數(shù)獲取的所有數(shù)據(jù)可以自動(dòng)寫入到后臺(tái)數(shù)據(jù)庫(kù)中,后臺(tái)數(shù)據(jù)庫(kù)即后臺(tái)的信息安全數(shù)據(jù)庫(kù)。
另外,打印驅(qū)動(dòng)鉤子函數(shù)獲取上述頁(yè)面控制邏輯、文本的編碼內(nèi)容、文本當(dāng)前在頁(yè)面上的位置信息、圖像內(nèi)具有的文本編碼數(shù)據(jù)及圖像內(nèi)文本的位置數(shù)據(jù)等postscript打印數(shù)據(jù)的同時(shí),還可以獲取打印頁(yè)面的頁(yè)面基本信息(在圖4中未示出),其中,頁(yè)面基本信息包括打印的用戶名稱、作業(yè)文檔名稱、打印時(shí)間、打印份數(shù)等內(nèi)容。打印頁(yè)面的頁(yè)面基本信息可以和postscript打印數(shù)據(jù)一起作為安全打印的驗(yàn)證對(duì)象,換句話說(shuō),預(yù)定安全條件中可以設(shè)置與頁(yè)面基本信息相關(guān)的驗(yàn)證內(nèi)容,以驗(yàn)證頁(yè)面基本信息是否符合打印要求。
當(dāng)postscript打印驅(qū)動(dòng)程序生成postscript打印數(shù)據(jù)后,對(duì)應(yīng)的postscript數(shù)據(jù)將windowsspooler(打印后臺(tái)處理服務(wù))送往對(duì)應(yīng)的打印端口監(jiān)視器,打印端口鉤子函數(shù)將獲取后臺(tái)數(shù)據(jù)庫(kù)中指定的安全策略(即預(yù)定安全條件)對(duì)打印內(nèi)容進(jìn)行安全關(guān)鍵字的檢索,同時(shí)記錄打印操作。如果打印內(nèi)容符合安全策略,則允許將打印數(shù)據(jù)發(fā)送到物理打印模塊進(jìn)行輸出,否則,禁止打印內(nèi)容的輸出。這里的打印內(nèi)容,指的是postscript打印數(shù)據(jù)和/或頁(yè)面基本信息。
如果打印內(nèi)容不符合安全策略,則對(duì)postscript描述的打印頁(yè)面的內(nèi)容進(jìn)行pdf規(guī)范化處理,生成pdf頁(yè)面,并根據(jù)文本內(nèi)容在打印頁(yè)面上的位置信息在對(duì)應(yīng)的pdf頁(yè)面中進(jìn)行標(biāo)注,并發(fā)送給安全管理員進(jìn)行審計(jì),這樣,安全管理員可以很方便地查看到哪些打印的內(nèi)容違反了指定的安全策略,以及這些打印內(nèi)容的發(fā)出者等其他屬性信息。
通過(guò)本發(fā)明的技術(shù)方案,可以對(duì)通用打印領(lǐng)域中文檔打印的內(nèi)容進(jìn)行安全關(guān)鍵字過(guò)濾檢測(cè),同時(shí),通過(guò)在后臺(tái)數(shù)據(jù)庫(kù)中指定安全策略,保證了在文檔輸出到物理打印模塊前可以對(duì)文檔的內(nèi)容進(jìn)行安全檢查和審計(jì),保證了文檔輸出的安全性。
本發(fā)明所述方法適用于任意硬件配置的通用打印領(lǐng)域windows環(huán)境下postscript打印機(jī)的安全打印輸出系統(tǒng),可以支持設(shè)置不同需求的安全策略,提供了靈活和高效的擴(kuò)展能力。
圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的打印控制系統(tǒng)中的后臺(tái)數(shù)據(jù)庫(kù) 的框圖。
如圖5所示,在本發(fā)明的一個(gè)實(shí)施例的打印控制系統(tǒng)中,后臺(tái)數(shù)據(jù)庫(kù)500包括:postscript打印數(shù)據(jù)存儲(chǔ)模塊502、頁(yè)面基本信息存儲(chǔ)模塊504、安全策略設(shè)置及存儲(chǔ)模塊506。
其中,postscript打印數(shù)據(jù)存儲(chǔ)模塊502用于存儲(chǔ)打印驅(qū)動(dòng)鉤子函數(shù)獲取的postscript打印數(shù)據(jù),其中,打印驅(qū)動(dòng)鉤子函數(shù)包括頁(yè)面控制邏輯鉤子函數(shù),頁(yè)面控制邏輯包括文檔的開(kāi)始和關(guān)閉、頁(yè)面的開(kāi)始和關(guān)閉、頁(yè)面的發(fā)送5個(gè)控制邏輯,這些邏輯用于控制打印內(nèi)容的生成,也就是控制postscript打印數(shù)據(jù)的生成。打印驅(qū)動(dòng)鉤子函數(shù)還包括文本輸出鉤子函數(shù),文本輸出鉤子函數(shù)用于在捕獲上層應(yīng)用程序輸出的文本時(shí),獲取文本的編碼內(nèi)容以及文本當(dāng)前在頁(yè)面上的位置信息。
另外,打印驅(qū)動(dòng)鉤子函數(shù)中還包括圖像輸出鉤子函數(shù),圖像輸出鉤子函數(shù)用于在捕獲上層應(yīng)用程序輸出的圖像內(nèi)容時(shí),獲取圖像的分段內(nèi)容,并根據(jù)圖像模式(單色二值、灰度和彩色),把分段輸出的圖像數(shù)據(jù)組織成整頁(yè)的圖像數(shù)據(jù),并把整頁(yè)的圖像數(shù)據(jù)送入到ocr模塊(光學(xué)字符識(shí)別模塊)中進(jìn)行識(shí)別,從而獲取圖像內(nèi)文本編碼數(shù)據(jù)和圖像內(nèi)文本位置數(shù)據(jù),也就是說(shuō),打印驅(qū)動(dòng)鉤子函數(shù)還可以用于獲取圖像內(nèi)具有的文本編碼數(shù)據(jù)及圖像內(nèi)文本的位置數(shù)據(jù)。
打印驅(qū)動(dòng)鉤子函數(shù)獲取的所有數(shù)據(jù)可以自動(dòng)寫入到后臺(tái)數(shù)據(jù)庫(kù)中,后臺(tái)數(shù)據(jù)庫(kù)即后臺(tái)的信息安全數(shù)據(jù)庫(kù)。
頁(yè)面基本信息存儲(chǔ)模塊504用于存儲(chǔ)打印頁(yè)面的頁(yè)面基本信息,頁(yè)面基本信息包括打印的用戶名稱、作業(yè)文檔名稱、打印時(shí)間、打印份數(shù)等內(nèi)容。打印頁(yè)面的頁(yè)面基本信息可以和postscript打印數(shù)據(jù)一起作為安全打印的驗(yàn)證對(duì)象,換句話說(shuō),預(yù)定安全條件中可以設(shè)置與頁(yè)面基本信息相關(guān)的驗(yàn)證內(nèi)容,以驗(yàn)證頁(yè)面基本信息是否符合打印要求。
安全策略設(shè)置及存儲(chǔ)模塊506可以用于設(shè)置并存儲(chǔ)安全策略,也就是預(yù)定安全條件,預(yù)定安全條件可以在設(shè)備出廠時(shí)進(jìn)行預(yù)先設(shè)置,也可以由用戶進(jìn)行手動(dòng)設(shè)置或更新,還可以由與終端相連的其他控制終端進(jìn)行設(shè)置和更改,其中,預(yù)定安全條件可以是禁止postscript打印數(shù)據(jù)中出現(xiàn)預(yù)定的安全關(guān)鍵詞或postscript打印數(shù)據(jù)中具有預(yù)定的安全關(guān)鍵詞,還可以是根據(jù)需要除此之外的其他限制條件,預(yù)定的安全關(guān)鍵詞為一個(gè)或多個(gè),每個(gè)預(yù)定的安全關(guān)鍵詞具有至少一個(gè)字符。將預(yù)定安全條件存儲(chǔ)在后臺(tái)數(shù)據(jù) 庫(kù)中,以便在對(duì)postscript打印數(shù)據(jù)進(jìn)行驗(yàn)證時(shí)方便地調(diào)用后臺(tái)數(shù)據(jù)庫(kù)中存儲(chǔ)的預(yù)定安全條件。
預(yù)定安全條件可以包括對(duì)任一頁(yè)面基本信息的限制,比如,限制有效的打印時(shí)間段、限制打印份數(shù)不能超過(guò)三份等,預(yù)定安全條件也可以包括限定postscript打印數(shù)據(jù)和/或打印頁(yè)面的頁(yè)面基本信息中出現(xiàn)或不能出現(xiàn)預(yù)定的安全關(guān)鍵詞,其中,可以對(duì)預(yù)定的安全關(guān)鍵詞的數(shù)量進(jìn)行自由設(shè)定,從而使用戶可以根據(jù)自身需求自由設(shè)置所需甄別的安全關(guān)鍵詞,進(jìn)一步提升了打印安全控制的靈活性。
以上結(jié)合附圖詳細(xì)說(shuō)明了本發(fā)明的技術(shù)方案,通過(guò)本發(fā)明的技術(shù)方案,可按照預(yù)定安全條件對(duì)打印頁(yè)面進(jìn)行安全性驗(yàn)證,在應(yīng)用程序輸出打印頁(yè)面到物理打印設(shè)備前對(duì)打印頁(yè)面的內(nèi)容進(jìn)行安全檢查和審計(jì),提升了打印頁(yè)面輸出的安全性,而自動(dòng)獲取postscript打印數(shù)據(jù)并對(duì)其進(jìn)行安全性的檢驗(yàn),也提升了對(duì)打印頁(yè)面進(jìn)行安全驗(yàn)證的靈活性,避免了用戶手動(dòng)輸入驗(yàn)證信息的繁瑣操作。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。