获取打印内容的方法技术

技术编号:26170497 阅读:25 留言:0更新日期:2020-10-31 13:38
本申请涉及一种获取打印内容的方法,通过应用程序内嵌的打印内容获取模块生成内存DC,取代打印机DC调用打印机API,在打印过程中可以实现将内存DC转化为包含打印机内容图像输出,实现了快速获取打印内容的目的,且流程较为简单。

【技术实现步骤摘要】
获取打印内容的方法
本申请涉及打印机安全管理
,特别是涉及一种获取打印内容的方法。
技术介绍
现有的打印方式千变万化,实体打印机、虚拟打印机和网络打印机等等层出不穷。由于打印机DC,即打印机绘画句柄只能绘画内容,不能获取具体打印的内容,因此在监控打印内容方面较为困难。传统的打印内容监控,一般通过hook所有绘画函数的API(API为接口),进而通过操作系统调取所有绘画函数的API来实现。这种方式的问题是获取打印内容需要调取的数据量大,获取速度比较缓慢。
技术实现思路
基于此,有必要针对传统获取打印内容的方法需要调取的数据量大,获取速度比较缓慢的问题,提供一种获取打印内容的方法。本申请提供一种获取打印内容的方法,包括:当应用程序接收到打印指令时,所述应用程序中的打印内容获取模块通过钩子拦截打印机API;所述打印内容获取模块生成与打印机属性兼容的内存DC,并将所述内存DC发送至所述应用程序;所述应用程序基于所述内存DC调用多个打印机API;所述应用程序基于所述多个打印机API执行打印工作,并将所述内存DC转化为包含打印机内容的图像输出并存储。进一步地,所述获取打印内容的方法还包括:监控所述应用程序的启动状态,当所述应用程序启动时,将所述打印机内容获取模块注入至所述应用程序中。进一步地,所述打印内容获取模块生成与打印机属性兼容的内存DC,并将所述内存DC发送至所述应用程序步骤,包括:在接收到所述应用程序发送的调用指令后,系统API创建打印机DC;所述打印内容获取模块基于所述打印机DC生成与打印机属性兼容的内存DC。进一步地,所述打印内容获取模块生成与打印机属性兼容的内存DC,并将所述内存DC发送至所述应用程序步骤,还包括:所述打印内容获取模块将所述内存DC与所述打印机DC建立映射关系;所述打印内容获取模块将所述内存DC和所述映射关系同步发送至所述应用程序。进一步地,所述应用程序基于所述内存DC调用多个打印机API的步骤,包括:所述应用程序基于所述映射关系,检索与所述内存DC相关联的打印机DC,调用多个打印机API。进一步地,所述多个打印机API包括一个开始打印作业API、至少一个页开始打印API、至少一个页终止打印API和一个终止打印作业API。进一步地,所述将所述内存DC转化为包含打印机内容的图像输出并存储的步骤,包括:在调用每一个打印页的页终止打印API之前,将所述内存DC转化为图像输出至操作系统存储。进一步地,将所述内存DC转化为包含打印机内容的图像输出并存储的步骤,包括:在调用每一个打印页的页终止打印API之前,将所述内存DC转化为图像输出至服务器存储。进一步地,所述获取打印内容的方法还包括:所述服务器对所述打印内容进行审计。进一步地,将所述内存DC转化为包含打印机内容的图像输出并存储的步骤,还包括:将所述内存DC中的打印内容拷贝至所述打印机DC。本申请涉及一种获取打印内容的方法,通过应用程序内嵌的打印内容获取模块生成内存DC,取代打印机DC调用打印机API,在打印过程中可以实现将内存DC转化为包含打印机内容图像输出,实现了快速获取打印内容的目的,且流程较为简单。附图说明图1为本申请一实施例提供的获取打印内容的方法的流程示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供一种获取打印内容的方法。需要说明的是,本申请提供的获取打印内容的方法不限制其应用的领域。可选地,所述获取打印内容的方法的应用于一种与打印机通信连接的处理终端。如图1所示,在本申请的一实施例中,所述获取打印内容的方法包括如下步骤S100至步骤S400:S100,当应用程序接收到打印指令时,所述应用程序中的打印内容获取模块通过钩子拦截打印机API。S200,所述打印内容获取模块生成与打印机属性兼容的内存DC。进一步地,所述打印内容获取模块还将所述内存DC发送至所述应用程序。S300,所述应用程序基于所述内存DC调用多个打印机API。S400,所述应用程序基于所述多个打印机API执行打印工作,并将所述内存DC转化为包含打印机内容的图像输出并存储。具体地,需要说明的是,API指的是系统接口,是连接打印机和操作系统的桥梁。API可以帮助操作系统实现正常的打印工作。打印机API指的是打印机在打印过程中,需要调取的与具体打印流程相关的系统接口。DC指的是绘画句柄。打印机可以在绘画句柄上绘制线和点。绘画句柄有多种类型,例如打印机DC,内存DC,窗口DC等,这些不同的绘画句柄具有不同的功能。此处为对打印机API和DC进行了解释,为了行文简洁,后文就不再重复赘述。在步骤S400中,最终输出的图像包含了打印机内容,用户可以依据所述图像直接获知打印机内容。本实施例中,通过应用程序内嵌的打印内容获取模块生成内存DC,取代打印机DC调用打印机API,在打印过程中可以实现将内存DC转化为包含打印机内容图像输出,实现了快速获取打印内容的目的,且流程较为简单。在本申请的一实施例中,所述获取打印内容的方法还包括如下步骤:S010,监控所述应用程序的启动状态,当所述应用程序启动时,将所述打印机内容获取模块注入至所述应用程序中。具体地,打印机与处理终端通信连接。处理终端可以为计算机。处理终端搭载有操作系统和应用程序。例如,应用程序为MicrosoftWord。用户在启动应用程序,此时用户还没有下达打印应用程序中的内容的指令。此时,操作系统或操作系统中烧录的注入程序,也可以将一个打印机内容获取模块注入至所述应用程序中。本实施例中,在应用程序启动时,通过将打印机内容获取模块注入至应用程序中,为通过内存DC替换常规打印机DC的技术方案提供了基础。在本申请的一实施例中,所述步骤S200包括如下步骤S210至步骤S220:S210,在接收到所述应用程序发送的调用指令后,系统API创建打印机DC。S220,所述打印内容获取模块基于所述打印机DC生成与打印机属性兼容的内存DC。具体地,在步骤S220中,所述打印内容获取模块生成与打印机属性兼容的内存DC。与打印机属性兼容,指的是DC属性兼容,例如分辨率兼容。本实施例中,通过打印内容获取模块基于所述打印机DC生成与打印机属性兼容的内存DC,可以实现利用内存DC替换常规的打印机DC,执行打印流程,内存DC则可以转化打印内容,实现打印内容的快速准确的获取。在本申请的一实施例中,所述步骤S200还包括如下步骤S230至步骤S240:S230,所述打印内容获取模块将所述内存DC与所述打印机DC建立映射关系。本文档来自技高网...

【技术保护点】
1.一种获取打印内容的方法,其特征在于,所述获取打印内容的方法包括:/n当应用程序接收到打印指令时,所述应用程序中的打印内容获取模块通过钩子拦截打印机API;/n所述打印内容获取模块生成与打印机属性兼容的内存DC,并将所述内存DC发送至所述应用程序;/n所述应用程序基于所述内存DC调用多个打印机API;/n所述应用程序基于所述多个打印机API执行打印工作,并将所述内存DC转化为包含打印机内容的图像输出并存储。/n

【技术特征摘要】
1.一种获取打印内容的方法,其特征在于,所述获取打印内容的方法包括:
当应用程序接收到打印指令时,所述应用程序中的打印内容获取模块通过钩子拦截打印机API;
所述打印内容获取模块生成与打印机属性兼容的内存DC,并将所述内存DC发送至所述应用程序;
所述应用程序基于所述内存DC调用多个打印机API;
所述应用程序基于所述多个打印机API执行打印工作,并将所述内存DC转化为包含打印机内容的图像输出并存储。


2.根据权利要求1所述的获取打印内容的方法,其特征在于,所述获取打印内容的方法还包括:
监控所述应用程序的启动状态,当所述应用程序启动时,将所述打印机内容获取模块注入至所述应用程序中。


3.根据权利要求2所述的获取打印内容的方法,其特征在于,所述打印内容获取模块生成与打印机属性兼容的内存DC,并将所述内存DC发送至所述应用程序步骤,包括:
在接收到所述应用程序发送的调用指令后,系统API创建打印机DC;
所述打印内容获取模块基于所述打印机DC生成与打印机属性兼容的内存DC。


4.根据权利要求3所述的获取打印内容的方法,其特征在于,所述打印内容获取模块生成与打印机属性兼容的内存DC,并将所述内存DC发送至所述应用程序步骤,还包括:
所述打印内容获取模块将所述内存DC与所述打印机DC建立映射关系;
所述打印内容获取模块将所述内存DC和所述映射关系同步发送至所述...

【专利技术属性】
技术研发人员:王一可谢永胜
申请(专利权)人:浙江华途信息安全技术股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1