CN108646988B - 文档打印方法和系统 - Google Patents

文档打印方法和系统 Download PDF

Info

Publication number
CN108646988B
CN108646988B CN201810229525.0A CN201810229525A CN108646988B CN 108646988 B CN108646988 B CN 108646988B CN 201810229525 A CN201810229525 A CN 201810229525A CN 108646988 B CN108646988 B CN 108646988B
Authority
CN
China
Prior art keywords
function
text page
content
parameter value
printing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810229525.0A
Other languages
English (en)
Other versions
CN108646988A (zh
Inventor
曲恩纯
王志海
喻波
彭洪涛
王志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wondersoft Technology Co Ltd
Original Assignee
Beijing Wondersoft Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wondersoft Technology Co Ltd filed Critical Beijing Wondersoft Technology Co Ltd
Priority to CN201810229525.0A priority Critical patent/CN108646988B/zh
Publication of CN108646988A publication Critical patent/CN108646988A/zh
Application granted granted Critical
Publication of CN108646988B publication Critical patent/CN108646988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明实施例提供了一种文档打印方法和系统,该方法包括:截获StartDoc函数;获取所述StartDoc函数的第一HDC参数值;截获ExtTextOut函数;获取所述ExtTextOut函数的第二HDC参数值;若所述第一HDC参数值和所述第二HDC参数值相同,则获取述ExtTextOut函数中的待打印的文本页内容;判断所述文本页内容是否包括预设关键字;若是,则当截获到EndPage函数时,对所述文本页内容添加预设水印;打印添加有所述预设水印的文本页内容;若否,则当截获到EndPage函数时,打印所述文本页内容。本发明能够只针对具有敏感数据的文本页进行水印打印,大大降低了业务处理负担,同时又确保了打印的敏感数据的安全,避免敏感数据被无水印打印而被盗用的风险。

Description

文档打印方法和系统
技术领域
本发明涉及计算机安全技术领域,特别是涉及一种文档打印方法和系统。
背景技术
随着越来越多的办公系统转向B/S(浏览器/服务器)结构,用户无需安装额外终端软件就可以利用浏览器来方便地完成功能操作。但是,当浏览器访问业务系统请求打印文档(如,财务表格,业务报表)时,现有技术中对文档的水印控制方式主要包括禁止打印、或者无差别添加水印,或者允许打印,但打印的文档都无水印。
如图1所示,现有技术的方案当截获到打印操作后,如果发现待打印文档的数据来源是敏感业务系统,则会对来自该敏感业务系统的所有即将打印的文档均插入水印,从而打印出带水印的文档;而如果发现待打印文档的数据来源不是敏感业务系统,则会对即将打印的文档不插入水印图片,直接输出打印机打印。
但是,在实际应用中,敏感业务系统中打印的数据并非全部都是敏感文档,相反,绝大部分文档也都只是普通数据(即,并不需要添加水印);而非敏感业务系统中打印的数据也有少量文档是涉及敏感数据的,从而需要添加水印,避免数据盗用。那么现有技术中的这种单纯依赖数据来源的业务系统是否为敏感系统或非敏感系统,来作为打印数据是否添加水印的依据的方案,不仅徒增业务负担,造成业务不便,而且还降低了敏感数据的安全性。
发明内容
本发明提供了一种文档打印方法和系统,以解决现有技术中的文档打印方案所存在的业务处理负担大、打印的敏感数据安全性低的问题。
第一方面,本发明实施例提供了一种文档打印方法,所述方法包括:
截获StartDoc函数;
获取所述StartDoc函数的第一HDC参数值;
截获ExtTextOut函数;
获取所述ExtTextOut函数的第二HDC参数值;
若所述第一HDC参数值和所述第二HDC参数值相同,则获取述ExtTextOut函数中的待打印的文本页内容;
判断所述文本页内容是否包括预设关键字;
若是,则当截获到EndPage函数时,对所述文本页内容添加预设水印;
打印添加有所述预设水印的文本页内容;
若否,则当截获到EndPage函数时,打印所述文本页内容。
第二方面,本发明实施例还提供了一种文档打印系统,所述文档打印系统包括:
第一截获模块,用于截获StartDoc函数;
第一获取模块,用于获取所述StartDoc函数的第一HDC参数值;
第二截获模块,用于截获ExtTextOut函数;
第二获取模块,用于获取所述ExtTextOut函数的第二HDC参数值;
第三获取模块,用于若所述第一HDC参数值和所述第二HDC参数值相同,则获取述ExtTextOut函数中的待打印的文本页内容;
第一判断模块,用于判断所述文本页内容是否包括预设关键字;
第一添加模块,用于若所述第一判断模块判断所述文本页内容包括预设关键字,则当截获到EndPage函数时,对所述文本页内容添加预设水印;
第一打印模块,用于打印添加有所述预设水印的文本页内容;
第二打印模块,用于若所述第一判断模块判断所述文本页内容不包括预设关键字,则当截获到EndPage函数时,打印所述文本页内容。
第三方面,本发明实施例还提供了一种移动终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述的文档打印方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的文档打印方法的步骤。
与现有技术相比,本发明包括以下优点:
本发明实时截取打印文档中的每一页文本内容,并对其进行预设关键字查找,当其含有预设关键字时才会对该页文本内容添加水印打印,而其他情况下不加水印打印,从而能够只针对具有敏感数据的文本页进行水印打印,大大降低了业务处理负担,同时又确保了打印的敏感数据的安全,避免敏感数据被无水印打印而被盗用的风险。
附图说明
图1是现有技术中的一种文档打印方法的流程图;
图2是本发明的一种文档打印方法实施例的步骤流程图;
图3是本发明的另一种文档打印方法实施例的步骤流程图;
图4是本发明的一种文档打印系统实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图2,示出了本发明的一种文档打印方法实施例的步骤流程图;图3示出了本发明的另一种文档打印方法实施例的步骤流程图。
下面结合图2和图3来对本发明的文档打印方法进行详细描述。
Windows提供几个只用于打印机的函数。这些限用在打印机上的函数(包括StartDoc、EndDoc、StartPage和EndPage)负责将打印机的输出组织打印到纸页上。本发明实施例的文档打印方法则需要截获上述StartDoc和EndPage函数。
参照图2,该方法具体可以包括如下步骤:
步骤101,截获StartDoc函数;
在一个示例中,如图3所示,当浏览器开始执行打印操作时,本发明实施例的方法可以截获StartDoc函数,从而确定调用打印命令的目标浏览器;
其中,在具体执行截获操作时,如图3所示,可以由StartDoc模块进行步骤101的操作。
其中,在截获StartDoc函数时,可以利用Hook技术来截获StartDoc函数,该函数是打印命令发出后必定调用的第一个函数,因此,本发明实施例的方法通过截获该StartDoc函数可以确定打印即将开始;此外,在这个StartDoc函数中,本发明实施例的方法可以确定调用打印命令的浏览器是哪一个,这样在后续流程中,就可以对该浏览器的打印行为一直进行监督,并根据实际场景来对打印的文档添加水印。
步骤102,获取所述StartDoc函数的第一HDC参数值;
其中,StartDoc模块还可以获取StartDoc函数的HDC参数值(例如HDC句柄值)。
可选地,步骤103,将所述第一HDC参数值存储至全局内存;
其中,由于后续步骤需要通过对两个HDC参数值进行比较来判断浏览器调用StartDoc函数和后续的ExtTextOut函数的行为是否是打印行为,而这两个函数并不在一个进程中,而是处于不同的进程中,因此,为了将两个函数的参数值进行比较,这里需要将所述StartDoc函数的第一HDC参数值存储至全局内存中,记为S_HDC,以便于后续比较。
步骤104,截获ExtTextOut函数;
其中,由于在执行步骤101时,已经确定了调用StartDoc函数的浏览器是哪一个,这里以目标浏览器命名,因此,在执行步骤104时,可以截获所述目标浏览器调用的ExtTextOut函数,从而对该目标浏览器的打印行为进行监督和添加水印控制。
如图3所示,步骤104的执行可以由ExtTextOut模块来实现,该ExtTextOut模块可以利用Hook技术来截获ExtTextOut函数,其中,所有需要打印的文本内容,例如不同页的文本内容都会输入到该ExtTextOut函数中,所以,本发明实施例的方法需要截获ExtTextOut函数。
其中,ExtTextOut该函数可以提供一个可选的矩形,用于裁剪或作不透明物或两者兼有。用当前选择的字体、背景颜色和正文颜色来绘制一个字符串。
步骤105,获取所述ExtTextOut函数的第二HDC参数值;
其中,如图3所示,ExtTextOut模块还可以获取ExtTextOut函数的HDC参数值(例如HDC句柄值)。
可选地,步骤106,将所述第二HDC参数值存储至全局内存;
其中,如图3所示,由于后续步骤需要通过对StartDoc函数和ExtTextOut函数的两个HDC参数值进行比较来判断浏览器调用StartDoc函数和ExtTextOut函数的行为是否是打印行为,而这两个函数并不在一个进程中,而是处于不同的进程中,因此,为了将两个函数的参数值进行比较,这里需要将所述ExtTextOut函数的第二HDC参数值存储至全局内存中,记为E_HDC,以便于后续比较。
可选地,步骤107,判断存储至全局内存中的所述第一HDC参数值和所述第二HDC参数值是否相同。
其中,如图3所示,在对全局内存中的第一HDC参数值和所述第二HDC参数值进行比较;
可选地,如图3所示,如果S_HDC和E_HDC的参数值不同,则不进行本发明实施例方法的添加水印打印行为,即放过不处理,结束流程。
若S_HDC和E_HDC的参数值相同,则步骤108,获取所述ExtTextOut函数中的待打印的文本页内容;
其中,当所述第一HDC参数值和所述第二HDC参数值相同时,则说明上述两个函数的调用是浏览器因为打印行为而调用的,而不是普通的屏幕显示,所以,这里需要获取所述ExtTextOut函数中的待打印的文本页内容。
其中,所谓文本页内容,由于打印的文本一般是以页为单位的,因此,输入至ExtTextOut函数中的文本内容为一页待打印的内容,当然,待打印的文档不仅仅只包括一页内容,而本发明实施例的方法的流程则是对输入至ExtTextOut函数中的每页文本内容都进行图2和图3所示方法的流程,从而实现对一个文档的全部内容的监控,灵活的确定是否需要对每页内容添加水印。
步骤109,判断所述文本页内容是否包括预设关键字;
其中,如图3所示,可以获取关键字库,该关键字库预先设置了所有涉及敏感信息的关键字,将关键字库中的每个预设关键字和ExtTextOut函数中的待打印的文本页内容(即文本字符串)均输入到本发明的系统的关键字扫描引擎模块中,然后,关键字扫描引擎模块,将文本页内容中的每个字符串与每个预设关键字进行匹配,从而确定该文本页内容中是否包括预设关键字,即敏感数据。
其中,对于如何界定所述文本页内容包括预设关键字的策略(即文本页内容与预设关键字具有怎样的匹配结果时,确定二者匹配)来说,可以是文本页内容包括至少一个预设关键字,则确定该文本页内容包括预设关键字(即确定二者匹配);也可以是文本页内容包括预定数量的预设关键字,才确定该文本页内容包预设关键字(即确定二者匹配);还可以是文本页内容包括的预设关键字的数量占该文本页内容的总字符数量的预设百分比以上,才确定该文本页内容包括预设关键字(即确定二者匹配)。当然,该策略并不限于此,还可以是其他未列举的策略。
可选地,如图3所示,如果所述文本页内容不包括预设关键字(即二者不匹配),则当截获到EndPage函数时(其中,由于EndPage函数是在打印的一页文档的结束前调用的,所以在截获到该EndPage函数时,说明一页待打印的文档内容传入结束),对文本内容放过不处理(即不添加水印),打印文本页内容,即将该文本页内容输出到打印机进行无水印打印。
其中,如图3所示,EndPage模块可以利用Hook技术来截获目标浏览器调用的EndPage函数。其中,该EndPage函数是在打印一页文本内容的结束前浏览器调用的,所以,可以当截获到该EndPage函数时,就可以确定一页文本内容传递结束,即将打印,这时就可以将文本页内容输出到打印机进行无水印打印处理。
EndPage函数用于完成一个页面的打印,并准备设备场景,以便打印下一个页。
这样,不论该文本页内容所在的文档属于敏感业务系统还是非敏感业务系统,只要该文本页内容中不涉及敏感数据,本发明实施例的方法都可以对其进行无水印快速打印,从而降低了业务处理压力,降低了业务处理负担,不会将非敏感文档进行水印打印。
可选地,若所述文本页内容包括预设关键字,则在步骤109之后,根据本发明实施例的方法还可以包括:
对所述文本页内容添加预设标记;
其中,根据本发明实施例的关键字扫描引擎模块如果经过匹配发现该文本页内容包括预设关键字,则可以对文本页内容添加预设标记(例如表示需要添加水印的标记);
然后,如图3所示,关键字扫描引擎模块还可以将添加有预设标记的文本页内容传递给EndPage模块。
可选地,若所述文本页内容包括预设关键字,步骤110,当截获到EndPage函数时,对所述文本页内容添加预设水印;
在执行步骤110时,当截获到所述目标浏览器调用的EndPage函数时,对添加有所述预设标记的文本页内容添加预设水印。
其中,如图3所示,EndPage模块可以利用Hook技术来截获目标浏览器调用的EndPage函数。其中,该EndPage函数是在打印一页文本内容的结束前浏览器调用的,所以,可以当截获到该EndPage函数时,就可以确定一页文本内容传递结束,即将打印,那么可以判断EndPage函数中的一个完整的文本页内容是否具有预设标记,如果具有预设标记,则可以对该文本页内容添加预设水印(即获取水印图片,然后将水印图片嵌入该文本页内容中)。
步骤111,打印添加有所述预设水印的文本页内容。
其中,在执行步骤111时,可以将添加有所述预设水印的所述文本页内容输出至打印机以打印所述文本页内容。
借助于本发明上述实施例的技术方案,本发明利用Hook技术实时截取打印文档中的每一页文本内容,并对其进行预设关键字查找,当其含有预设关键字时才会对该文本页内容添加水印打印,而其他情况下不加水印打印,能够只针对具有敏感数据的文本页进行水印打印,大大降低了业务处理负担,同时又确保了打印的敏感数据的安全,避免敏感数据被无水印打印而被盗用的风险。
在实际应用中,该预设关键字可以包括但不限于公司品牌名、公司联系方式等等。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
与上述本发明实施例所提供的方法相对应,参照图4,示出了本发明一种文档打印系统实施例的结构框图,具体可以包括如下模块:
第一截获模块41,用于截获StartDoc函数;
第一获取模块42,用于获取所述StartDoc函数的第一HDC参数值;
第二截获模块43,用于截获ExtTextOut函数;
第二获取模块44,用于获取所述ExtTextOut函数的第二HDC参数值;
第三获取模块45,用于若所述第一HDC参数值和所述第二HDC参数值相同,则获取述ExtTextOut函数中的待打印的文本页内容;
第一判断模块46,用于判断所述文本页内容是否包括预设关键字;
第一添加模块47,用于若所述第一判断模块46判断所述文本页内容包括预设关键字,则当截获到EndPage函数时,对所述文本页内容添加预设水印;
第一打印模块48,用于打印添加有所述预设水印的文本页内容;
第二打印模块49,用于若所述第一判断模块46判断所述文本页内容不包括预设关键字,则当截获到EndPage函数时,打印所述文本页内容。
可选地,所述第一截获模块41包括:
第一截获子模块,用于截获StartDoc函数,确定调用打印命令的目标浏览器;
所述第二截获模块43包括:
第二截获子模块,用于截获所述目标浏览器调用的ExtTextOut函数;
所述第一添加模块47包括:
第一添加子模块,用于当截获到所述目标浏览器调用的EndPage函数时,对所述文本页内容添加预设水印。
可选地,所述系统还包括:
第一存储模块,用于将所述第一HDC参数值存储至全局内存;
第二存储模块,用于将所述第二HDC参数值存储至全局内存;
第二判断模块,用于判断存储至全局内存中的所述第一HDC参数值和所述第二HDC参数值是否相同。
可选地,所述系统还包括:
第二添加模块,用于若所述第一判断模块判断所述文本页内容包括预设关键字,则对所述文本页内容添加预设标记;
所述第一添加模块47包括:
第二添加子模块,用于当截获到EndPage函数时,对添加有所述预设标记的文本页内容添加预设水印。
可选地,所述第一打印模块48包括:
打印子模块,用于将添加有所述预设水印的所述文本页内容输出至打印机以打印所述文本页内容。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
优选的,本发明实施例还提供一种移动终端,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述文档打印方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述文档打印方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种文档打印方法和一种文档打印c系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种文档打印方法,其特征在于,包括:
截获StartDoc函数;
获取所述StartDoc函数的第一HDC参数值;
截获ExtTextOut函数;
获取所述ExtTextOut函数的第二HDC参数值;
若所述第一HDC参数值和所述第二HDC参数值相同,则获取所述ExtTextOut函数中的待打印的文本页内容;
判断所述文本页内容是否包括预设关键字;
若是,则当截获到EndPage函数时,对所述文本页内容添加预设水印;
打印添加有所述预设水印的文本页内容;
若否,则当截获到EndPage函数时,打印所述文本页内容;
其中,所述文本页内容表示一页待打印内容。
2.根据权利要求1所述的方法,其特征在于,
所述截获StartDoc函数,包括:
截获StartDoc函数,确定调用打印命令的目标浏览器;
所述截获ExtTextOut函数,包括:
截获所述目标浏览器调用的ExtTextOut函数;
所述当截获到EndPage函数时,对所述文本页内容添加预设水印,包括:
当截获到所述目标浏览器调用的EndPage函数时,对所述文本页内容添加预设水印。
3.根据权利要求1所述的方法,其特征在于,所述若所述第一HDC参数值和所述第二HDC参数值相同,则获取所述ExtTextOut函数中的待打印的文本页内容之前,所述方法还包括:
将所述第一HDC参数值存储至全局内存;
将所述第二HDC参数值存储至全局内存;
判断存储至全局内存中的所述第一HDC参数值和所述第二HDC参数值是否相同。
4.根据权利要求1所述的方法,其特征在于,
所述判断所述文本页内容是否包括预设关键字之后,所述方法还包括:
若是,则对所述文本页内容添加预设标记;
所述当截获到EndPage函数时,对所述文本页内容添加预设水印,包括:
当截获到EndPage函数时,对添加有所述预设标记的文本页内容添加预设水印。
5.根据权利要求1所述的方法,其特征在于,所述打印添加有所述预设水印的文本页内容,包括:
将添加有所述预设水印的所述文本页内容输出至打印机以打印所述文本页内容。
6.一种文档打印系统,其特征在于,包括:
第一截获模块,用于截获StartDoc函数;
第一获取模块,用于获取所述StartDoc函数的第一HDC参数值;
第二截获模块,用于截获ExtTextOut函数;
第二获取模块,用于获取所述ExtTextOut函数的第二HDC参数值;
第三获取模块,用于若所述第一HDC参数值和所述第二HDC参数值相同,则获取所述ExtTextOut函数中的待打印的文本页内容;
第一判断模块,用于判断所述文本页内容是否包括预设关键字;
第一添加模块,用于若所述第一判断模块判断所述文本页内容包括预设关键字,则当截获到EndPage函数时,对所述文本页内容添加预设水印;
第一打印模块,用于打印添加有所述预设水印的文本页内容;
第二打印模块,用于若所述第一判断模块判断所述文本页内容不包括预设关键字,则当截获到EndPage函数时,打印所述文本页内容;
其中,所述文本页内容表示一页待打印内容。
7.根据权利要求6所述的系统,其特征在于,
所述第一截获模块包括:
第一截获子模块,用于截获StartDoc函数,确定调用打印命令的目标浏览器;
所述第二截获模块包括:
第二截获子模块,用于截获所述目标浏览器调用的ExtTextOut函数;
所述第一添加模块包括:
第一添加子模块,用于当截获到所述目标浏览器调用的EndPage函数时,对所述文本页内容添加预设水印。
8.根据权利要求6所述的系统,其特征在于,所述系统还包括:
第一存储模块,用于将所述第一HDC参数值存储至全局内存;
第二存储模块,用于将所述第二HDC参数值存储至全局内存;
第二判断模块,用于判断存储至全局内存中的所述第一HDC参数值和所述第二HDC参数值是否相同。
9.根据权利要求6所述的系统,其特征在于,
所述系统还包括:
第二添加模块,用于若所述第一判断模块判断所述文本页内容包括预设关键字,则对所述文本页内容添加预设标记;
所述第一添加模块包括:
第二添加子模块,用于当截获到EndPage函数时,对添加有所述预设标记的文本页内容添加预设水印。
10.根据权利要求6所述的系统,其特征在于,所述第一打印模块包括:
打印子模块,用于将添加有所述预设水印的所述文本页内容输出至打印机以打印所述文本页内容。
11.一种移动终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的文档打印方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的文档打印方法中的步骤。
CN201810229525.0A 2018-03-20 2018-03-20 文档打印方法和系统 Active CN108646988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810229525.0A CN108646988B (zh) 2018-03-20 2018-03-20 文档打印方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810229525.0A CN108646988B (zh) 2018-03-20 2018-03-20 文档打印方法和系统

Publications (2)

Publication Number Publication Date
CN108646988A CN108646988A (zh) 2018-10-12
CN108646988B true CN108646988B (zh) 2021-04-16

Family

ID=63744440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810229525.0A Active CN108646988B (zh) 2018-03-20 2018-03-20 文档打印方法和系统

Country Status (1)

Country Link
CN (1) CN108646988B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579386A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 一种打印设备的监控方法及装置
CN113312010A (zh) * 2020-02-27 2021-08-27 奇安信科技集团股份有限公司 打印文件的水印处理方法、装置、电子设备及存储介质
CN112506448A (zh) * 2020-12-01 2021-03-16 北京鸿腾智能科技有限公司 基于打印机的打印审计方法、设备、存储介质及装置
CN113641312A (zh) * 2021-08-11 2021-11-12 北京天空卫士网络安全技术有限公司 一种文件打印方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014208342A1 (ja) * 2013-06-28 2014-12-31 スター精密株式会社 情報処理端末および無線接続制御用プログラム
CN105323209A (zh) * 2014-06-05 2016-02-10 江苏博智软件科技有限公司 全同态加密和多重数字水印技术的云数据安全保护方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4376933B2 (ja) * 2007-12-07 2009-12-02 日立ソフトウエアエンジニアリング株式会社 印刷管理システム、及び印刷管理方法、並びにプログラム
KR20130033785A (ko) * 2011-09-27 2013-04-04 인포섹(주) 에이피아이 훅을 이용한 출력물 내의 개인정보 마킹 장치, 방법 및 기록매체
JP2013156916A (ja) * 2012-01-31 2013-08-15 Brother Ind Ltd データ処理装置、印刷システム、および印刷制御プログラム
US10380387B2 (en) * 2012-09-25 2019-08-13 Seagull Scientific, Inc. Integrated smart card printing and encoding
CN103605487A (zh) * 2013-11-18 2014-02-26 江苏敏捷科技股份有限公司 一种打印数据透明捕获的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014208342A1 (ja) * 2013-06-28 2014-12-31 スター精密株式会社 情報処理端末および無線接続制御用プログラム
CN105323209A (zh) * 2014-06-05 2016-02-10 江苏博智软件科技有限公司 全同态加密和多重数字水印技术的云数据安全保护方法

Also Published As

Publication number Publication date
CN108646988A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN108646988B (zh) 文档打印方法和系统
KR101074624B1 (ko) 브라우저 기반 어뷰징 방지 방법 및 시스템
CN104486140B (zh) 一种检测网页被劫持的装置及其检测方法
US8255873B2 (en) Handling external content in web applications
US8438648B2 (en) Preventing unauthorized font linking
US20160070812A1 (en) Secure Document Sharing
CN108563930A (zh) 一种涉密文件添加水印的方法、装置、介质及系统
US9954880B2 (en) Protection via webpage manipulation
JP2016531346A (ja) ウェブページを表示するための方法およびデバイス
US20140233055A1 (en) Method, device and computer readable medium for managing print jobs
CN109218296B (zh) 基于改进csp策略的xss防御系统和方法
CN102169534A (zh) 一种显示水印的方法和装置
CN113810375B (zh) webshell检测方法、装置、设备及可读存储介质
CN109145581B (zh) 基于浏览器渲染性能的防模拟登录方法、装置及服务器
US9189628B2 (en) Data driven system for responding to security vulnerability
CN106462700B (zh) 取消请求
US20210165904A1 (en) Data loss prevention
CN114157568A (zh) 一种浏览器安全访问方法、装置、设备及存储介质
WO2023115968A1 (zh) 用户端识别违规数据的方法、设备、介质及程序产品
US9088735B2 (en) Computer-based system and method for adding variable security data in printing operations
JP2005134995A (ja) セキュリティ管理システム及びセキュリティ管理方法ならびにセキュリティ管理プログラム
JP2010257376A (ja) 機密情報マスキングシステム
JP2017021654A (ja) 文書管理サーバ及びシステム
KR102473436B1 (ko) 물리 메모리 레이아웃 관리 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
JP5320007B2 (ja) 情報フィルタ装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant