一種防止外發文檔被打印的方法
【技術領域】
[0001]本發明涉及信息安全技術領域,特別涉及一種防止外發文檔被打印的方法。
【背景技術】
[0002]在信息化迅速發展的21世紀,計算機技術日新月異,與人們的日常生活息息相關,電子文檔內保存的隱私信息被惡意盜取往往會給個人,甚至企業單位帶來無盡的煩惱與麻煩,在企業工作中,企業隱私文檔泄露造成的損失是不餓估量的,小則使公司無法開展工作,大則可能導致企業倒閉,特別是在信息企業中,公司的電子資料就是他們的命脈;如何保證電子文檔外發后的安全成為當今社會非常重視的話題。
[0003]目前市場上已出現多種文件外發控制軟件,但基本都是通過不提供打印按鈕功能來防止文檔打印,這種方式的最大缺陷在于不能徹底的防止文檔被打印。可以通過調試手段打開閱讀軟件的打印按鈕,從而實現文檔的打印。
[0004]本發明所涉及的專業術語如下:
[0005]文檔外發:是指將文檔帶出或通過其他軟件或網絡發送給第三方;
[0006]防打印:文件防打印是指通過技術手段禁止打印文件內容或者使打印失效;
[0007]文檔頭偏移:是指相距文件頭的字節數。
【發明內容】
[0008]本發明針對現有技術的缺陷,提供了一種防止外發文檔被打印的方法,能有效的解決上述現有技術存在的問題。
[0009]—種防止外發文檔被打印的方法,包括:創建帶有特征的加密文檔和創建針對加密文檔的閱讀器;
[0010]所述加密文檔是指對文檔進行加密,加密后在文件數據內指定位置插入特定的標記;
[0011]所述閱讀器通過特定標記進行判斷讀取的文件是否為該加密文檔;
[0012]閱讀器使用對應的解密算法對文檔進行解密,并展示文檔內容;
[0013]展示文檔內容的同時,調用函數“Ap1penPrinterO”打開打印機,然后調用函數"EnumJobs O ”獲取目前的打印隊列,并將獲取的打印隊列保存在隊列變量中。使用系統時鐘,循環監控是否有新的打印任務加入打印隊列;如果發現新增打印任務并立即刪除。
[0014]作為優選,所述有無打印任務為用調用函數“EnumJobsO”取出的內容和隊列變量的值進行對比,如果隊列值相同,則認為無新打印任務加入。
[0015]作為優選,所述使用刪除打印任務需調用函數“DeleteFormO”。
[0016]與現有技術相比本發明的優點在于:創建的加密文檔和閱讀器配合,從操作系統底層的打印隊列著手,限制文檔被打印。不論對閱讀軟件作何調試、破解,都無法實現文檔的打印,通過刪除新增的打印任務可以達到徹底保護文檔被打印的目的。
【具體實施方式】
[0017]為使本發明的目的、技術方案及優點更加清楚明白,以下舉實施例,對本發明做進一步詳細說明。
[0018]—種防止外發文檔被打印的方法,包括:
[0019]創建帶有特征的加密文檔,該文檔是指對文檔進行加密,如:AES256加密,加密后在文件數據內指定位置插入特定的標記;例如:在文檔頭偏移“OXf”的位置插入標記“JM”。
[0020]創建一個針對加密文檔的閱讀器,使用閱讀器通過特定標記(“OXf”的位置的JM標記)進行判斷讀取的文件是否為該加密文檔;
[0021]閱讀器使用對應的解密算法(如:AES256)對文檔進行解密,并展示文檔內容。
[0022]展示文檔內容的同時,使用Windows Ap1penPrinter O打開打印機,然后使用EnumJobsO函數獲取目前的打印隊列,并將獲取的打印隊列保存在隊列變量中(如:OldPrintList)。使用系統時鐘,循環監控是否有新的打印任務加入打印隊列,如200毫秒檢測一次。
[0023]檢測方法為用EnumJobsO函數取出的內容和OldPrintList的值進行對比,如果隊列值相同,則認為無新打印任務加入。
[0024]如果發現新增打印任務并立即刪除。通過刪除新增的打印任務可以達到徹底保護文檔被打印的目的。
[0025]用DeleteFormO刪除新增的打印任務。
[0026]本領域的普通技術人員將會意識到,這里所述的實施例是為了幫助讀者理解本發明的實施方法,應被理解為本發明的保護范圍并不局限于這樣的特別陳述和實施例。本領域的普通技術人員可以根據本發明公開的這些技術啟示做出各種不脫離本發明實質的其它各種具體變形和組合,這些變形和組合仍然在本發明的保護范圍內。
【主權項】
1.一種防止外發文檔被打印的方法,其特征在于包括:創建帶有特征的加密文檔和創建針對加密文檔的閱讀器; 所述加密文檔是指對文檔進行加密,加密后在文件數據內指定位置插入特定的標記; 所述閱讀器通過特定標記進行判斷讀取的文件是否為該加密文檔; 閱讀器使用對應的解密算法對文檔進行解密,并展示文檔內容; 展示文檔內容的同時,調用函數“Ap1penPrinter O ”打開打印機,然后調用函數"EnumJobs O ”獲取目前的打印隊列,并將獲取的打印隊列保存在隊列變量中。使用系統時鐘,循環監控是否有新的打印任務加入打印隊列;如果發現新增打印任務并立即刪除。2.根據權利要求1的一種防止外發文檔被打印的方法,其特征在于:所述有無打印任務為用調用函數“EnumJobsO”取出的內容和隊列變量的值進行對比,如果隊列值相同,則認為無新打印任務加入。3.根據權利要求1的一種防止外發文檔被打印的方法,其特征在于:所述使用刪除打印任務需調用函數“DeleteFormO ”。
【專利摘要】本發明公開了一種防止外發文檔被打印的方法,包括:創建帶有特征的加密文檔和創建針對加密文檔的閱讀器;閱讀器通過檢測打印機任務實現防止打印的功能。本發明的有益效果如下:創建的加密文檔和閱讀器配合,從操作系統底層的打印隊列著手,限制文檔被打印。不論對閱讀軟件作何調試、破解,都無法實現文檔的打印,通過刪除新增的打印任務可以達到徹底保護文檔被打印的目的。
【IPC分類】G06F21/84, G06F3/12
【公開號】CN105224893
【申請號】CN201510600972
【發明人】梁效寧, 甘元軍
【申請人】四川效率源信息安全技術股份有限公司
【公開日】2016年1月6日
【申請日】2015年9月18日