打印机配置方法、装置、电子设备及可读存储介质与流程

文档序号:19491671发布日期:2019-12-24 13:59阅读:250来源:国知局
技术简介:
本专利针对传统打印机配置依赖人工操作导致效率低的问题,提出通过注入动态链接库中的监听函数,自动监听打印请求并解析参数生成配置信息的解决方案,实现无需人工干预的自动化配置,显著提升效率并降低人工成本。
关键词:打印机自动配置,动态链接库监听

本公开的实施例涉及计算机处理技术领域,尤其涉及一种打印机配置方法、装置、电子设备及可读存储介质。



背景技术:

目前,很多系统(例如,收银系统)均需要具有打印功能,具体可以通过系统内置打印机或连接外部打印机。而打印机分为串口、并口、usb口、网口、驱动等多种类型,每种类型在使用之前均需要配置。

现有技术中,打印机在使用之前均需要专业人员通过人工配置,例如,串口打印机需要配置串口信息和波特率信息等,并口打印机需要配置并口信息和波特率信息等,网口打印机需要配置ip(internetprotocol,因特网协议)地址和端口信息等,驱动打印机需要配置驱动信息等。

然而,上述方法耗费较高的人工成本、效率较低,尤其是对于收银系统,由于收银系统的种类较多,各自配置管理差异较大,导致配置更复杂,效率更低。



技术实现要素:

本公开的实施例提供一种打印机配置方法、装置、电子设备及可读存储介质,以解决现有技术打印机配置的上述问题。

根据本公开的实施例的第一方面,提供了一种打印机配置方法,所述方法包括:

根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中;

响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数;

根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。

根据本公开的实施例的第二方面,提供了一种打印机配置装置,所述装置包括:

打印请求监听模块,用于根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中;

调用信息获取模块,用于响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数;

打印机配置模块,用于根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。

根据本公开的实施例的第三方面,提供了一种电子设备,包括:

处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述打印机配置方法。

根据本公开的实施例的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述打印机配置方法。

本公开的实施例提供了一种打印机配置方法、装置、电子设备及可读存储介质,所述方法包括:根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中;响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数;根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。可以将监听函数注入打印调用系统,例如收银系统,从而可以从监听到的信息中获取打印配置信息,不需要人为配置打印机,有助于提高配置效率,降低人工成本。

附图说明

为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了本公开的一种实施例中的打印机配置方法步骤流程图;

图2示出了本公开的另一种实施例中的打印机配置方法步骤流程图;

图3示出了本公开的一种实施例中的打印机配置装置的结构图;

图4示出了本公开的另一种实施例中的打印机配置装置的结构图;

图5示出了本公开的一种实施例中的电子设备的结构图。

具体实施方式

下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。

实施例一

参照图1,其示出了本公开的一种实施例中的打印机配置方法的步骤流程图,具体如下。

步骤101,根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中。

其中,动态链接库(dll,dynamiclinklibrary)是一个包含可由多个程序同时使用的代码和数据的库。

监听函数用于监听对打印函数的调用事件,当监听到对打印函数的调用事件,则代表监听到第一打印请求,拦截该请求;当未监听到对打印函数的调用事件,则代表未监听到第一打印请求,则继续监听。具体地,收集所有打印函数,从而在监听函数中监听是否其中一个打印函数被调用。

在本公开的实施例中,监听函数是开发人员预先编写的,可以为各种语言,例如,java、c++等。首先,监听函数在编写好之后,将其导入编译器中新创建的dll工程,并通过编译器将该工程编译成dll格式,后缀名为.dll,名称可以自定义,例如mtprint.dll,其中,采用的编译器与编写监听函数的语言相关,例如,对于c++语言编写的监听函数可以采用微软提供的visualstudio对其进行编译;然后,根据打印调用系统的进程名称,将监听函数.dll文件远程注入至打印调用系统,并将打印调用系统的接口函数替换为自定义的函数,以实现监听。

其中,打印调用系统可以为任何可以调用打印机的系统,或内置打印机的系统,例如,收银系统。当收银系统发起打印小票的第一打印请求时,监听函数可以监听到该请求。

步骤102,响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数。

具体地,在调用打印函数时,通常以打印函数名+参数的形式,例如,printfunc(para1,para2,para3),其中,printfunc为打印函数名称,para1,para2,para3分别为调用打印函数时输入的3个参数。

步骤103,根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。

其中,调用打印函数时输入的参数中通常是打印机的一些信息,包括:打印机配置信息。

打印函数不同打印机类型也不同。

打印机配置信息包括但不限于:打印机类型、打印机的端口、网口、驱动信息,例如,打印机ip地址、ip端口、串口信息、并口信息、usb口信息等。

综上所述,本公开的实施例提供了一种打印机配置方法,所述方法包括:根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中;响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数;根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。可以将监听函数注入打印调用系统,例如收银系统,从而可以从监听到的信息中获取打印配置信息,不需要人为配置打印机,有助于提高配置效率,降低人工成本。

实施例二

参照图2,其示出了在本公开的另一种实施例中的打印机配置方法的具体步骤流程图,具体如下。

步骤201,根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中。

该步骤可以参照步骤101的详细说明,在此不再赘述。

步骤202,响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数。

该步骤可以参照步骤102的详细说明,在此不再赘述。

步骤203,响应于所述打印函数为预设第一函数,从调用所述第一函数时输入的参数中提取端口名称作为打印机标识,并根据所述端口名称确定打印机类型。

其中,第一函数为调用端口打印机进行打印的函数,例如,端口打印机通常调用createfile函数打开端口,createfile函数中的第一个参数为端口名称。

在调用端口打印机进行打印时,需要输入端口打印机的端口名称,端口名称具有唯一性,可以作为端口打印机的身份标识。

端口打印机可以包括:并口打印机、串口打印机、usb口打印机。

可选地,在本发明的另一种实施例中,步骤203包括子步骤a1至a3:

子步骤a1,响应于所述端口名称包含预设第一字符串,确定打印机类型为并口打印机。

其中,第一字符串可以从实际应用中并口打印机的端口名称中统计,经常出现的字符串可以作为第一字符串。

可以理解,并口打印机在端口命名时,通常会包括比较典型的字符串,例如,bingkou1、bingkou2等。

子步骤a2,响应于所述端口名称包含预设第二字符串,确定打印机类型为串口打印机。

其中,第二字符串可以从实际应用中串口打印机的端口名称中统计,经常出现的字符串可以作为第二字符串。

可以理解,串口打印机在端口命名时,通常会包括比较典型的字符串,例如,chuankou1、chuankou2等。

子步骤a3,响应于所述端口名称包含预设第三字符串,确定打印机类型为usb口打印机。

其中,第三字符串可以从实际应用中usb口打印机的端口名称中统计,经常出现的字符串可以作为第三字符串。

可以理解,usb口打印机在端口命名时,通常会包括比较典型的字符串,例如,usb1、usb2等。

步骤204,响应于所述打印函数为预设第二函数,从调用所述第二函数时输入的参数中提取驱动名称作为打印机标识,并确定打印机类型为驱动打印机。

其中,第二函数为调用驱动打印机的函数,例如,驱动打印机通常用createdc函数来创建绘制句柄,createdc函数的第二个参数为驱动名称。

驱动名称具有唯一性,可以作为驱动打印机的打印机标识。

步骤205,响应于所述打印函数为预设第三函数,从调用所述第三函数时输入的参数中提取网口信息,并确定打印机类型为网口打印机。

其中,第三函数为调用网口打印机的函数,例如,网口打印机通常socket的connect函数进行连接,connect函数的第二个参数sockaddr_in为网口信息,包括ip地址和ip端口。

可选地,在本发明的另一种实施例中,所述参数为结构体参数,步骤205包括子步骤b1:

子步骤b1,对调用所述第三函数时输入的所述结构体参数进行解析得到ip地址和ip端口。

具体地,将结构体参数进行解析,取第二个参数,得到ip地址和ip端口。

步骤206,根据确定的所述打印机类型和所述打印机标识生成打印机配置信息。

具体地,可以将打印机类型和打印机标识进行序列化,即拼接为字符串。此外,还可以包括但不限于:起始标记、结束标记以及打印机类型和打印机标识之间的分隔标识。

可选地,在本发明的另一种实施例中,步骤206包括子步骤c1:

子步骤c1,将所述打印机标识拼接在确定的所述打印机类型之后,得到打印机配置信息。

具体地,可以将打印机类型+打印机标识作为打印机配置信息。

当打印机类型为并口打印机时,打印机配置信息可以为并口打印机+并口名称。

当打印机类型为串口打印机时,打印机配置信息可以为串口打印机+串口名称。

当打印机类型为usb口打印机时,打印机配置信息可以为usb口打印机+usb口名称。

当打印机类型为驱动打印机时,打印机标识为驱动名称,此时,打印机配置信息可以为:驱动打印机+驱动名称。

当打印机类型为网口打印机时,打印机标识包括ip地址和ip端口,此时,打印机配置信息可以为:网口打印机+ip地址+ip端口。

可选地,在本发明的另一种实施例中,在子步骤c1之后,还包括子步骤c2:

子步骤c2,对所述打印机配置信息进行序列化处理。

将打印机标识和打印机类型拼接好之后,还可以进行序列化,得到字符串。

步骤207,将所述打印机配置信息同步至打印机,以在启动打印机时加载所述打印机配置信息处理第二打印请求。

其中,第二打印请求的请求时间可以在第一打印请求的请求时间之后。

本公开的实施例可以将获取的打印机配置信息同步至打印机,并在启动打印机时生效,以处理后续第二打印机请求。

可选地,在本发明的另一种实施例中,步骤207包括子步骤d1:

子步骤d1,将所述打印机配置信息同步至插件服务器,以在启动插件时加载所述打印机配置信息处理第二打印请求。

其中,插件服务器可以在安装调用打印函数的应用时安装,从而应用在启动时,启动插件,此时会加载打印机配置信息。

可选地,在本发明的另一种实施例中,子步骤d1包括子步骤d11:

子步骤d11,通过进程间通信将所述打印机配置信息同步至插件服务器。

其中,进程间通信可以通过wm_copydata消息方式进行。

综上所述,本公开的实施例提供了一种打印机配置方法,所述方法包括:根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中;响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数;根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。可以将监听函数注入打印调用系统,例如收银系统,从而可以从监听到的信息中获取打印配置信息,不需要人为配置打印机,有助于提高配置效率,降低人工成本。

实施例三

参照图3,其示出了在本公开的另一种实施例中的打印机配置装置的结构图,具体如下。

打印请求监听模块301,用于根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中。

调用信息获取模块302,用于响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数。

打印机配置模块303,用于根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。

综上所述,本公开的实施例提供了一种打印机配置装置,所述装置包括:打印请求监听模块,用于根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中;调用信息获取模块,用于响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数;打印机配置模块,用于根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。可以将监听函数注入打印调用系统,例如收银系统,从而可以从监听到的信息中获取打印配置信息,不需要人为配置打印机,有助于提高配置效率,降低人工成本。

实施例三为实施例一对应的装置实施例,详细说明可以参照实施例一,在此不再赘述。

实施例四

参照图4,其示出了在本公开的一种实施例中的打印机配置装置的结构图,具体如下。

打印请求监听模块401,用于根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中。

调用信息获取模块402,用于响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数。

打印机配置模块403,用于根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息;可选地,在本发明实施例中,所述打印机配置模块403,包括:

第一打印机确定子模块4031,用于响应于所述打印函数为预设第一函数,从调用所述第一函数时输入的参数中提取端口名称作为打印机标识,并根据所述端口名称确定打印机类型。

第二打印机确定子模块4032,用于响应于所述打印函数为预设第二函数,从调用所述第二函数时输入的参数中提取驱动名称作为打印机标识,并确定打印机类型为驱动打印机。

第三打印机确定子模块4033,用于响应于所述打印函数为预设第三函数,从调用所述第三函数时输入的参数中提取网口信息,并确定打印机类型为网口打印机。

打印机配置子模块4034,用于根据确定的所述打印机类型和所述打印机标识生成打印机配置信息。

打印处理模块404,用于将所述打印机配置信息同步至打印机,以在启动打印机时加载所述打印机配置信息处理第二打印请求。

可选地,在本发明的另一种实施例中,第一打印机确定子模块4031包括:

第四打印机确定单元,用于响应于所述端口名称包含预设第一字符串,确定打印机类型为并口打印机。

第五打印机确定单元,用于响应于所述端口名称包含预设第二字符串,确定打印机类型为串口打印机。

第六打印机确定单元,用于响应于所述端口名称包含预设第三字符串,确定打印机类型为usb口打印机。

可选地,在本发明的另一种实施例中,所述参数为结构体参数,所述第三信息确定子模块4033包括:

结构体解析单元,用于对调用所述第三函数时输入的所述结构体参数进行解析得到ip地址和ip端口。

可选地,在本发明的另一种实施例中,所述打印机配置子模块4034包括:

打印机配置单元,用于将所述打印机标识拼接在确定的所述打印机类型之后,得到打印机配置信息。

可选地,在本发明的另一种实施例中,所述打印机配置子模块4034还包括:

序列化处理单元,用于对所述打印机配置信息进行序列化处理。

可选地,在本发明的另一种实施例中,所述打印处理模块404包括:

打印处理子模块,用于将所述打印机配置信息同步至插件服务器,以在启动插件时加载所述打印机配置信息处理第二打印请求。

可选地,在本发明的另一种实施例中,打印处理子模块包括:

打印处理单元,用于通过进程间通信将所述打印机配置信息同步至插件服务器。

综上所述,本公开的实施例提供了一种打印机配置装置,所述装置包括:打印请求监听模块,用于根据注入至打印调用系统中的监听函数监听第一打印请求,所述监听函数被预先封装至动态链接库文件中;调用信息获取模块,用于响应于所述第一打印请求,获取所述第一打印请求调用的打印函数和调用所述打印函数时输入的参数;打印机配置模块,用于根据所述打印函数和调用所述打印函数时输入的参数确定打印机配置信息。可以将监听函数注入打印调用系统,例如收银系统,从而可以从监听到的信息中获取打印配置信息,不需要人为配置打印机,有助于提高配置效率,降低人工成本。

实施例四为实施例二对应的装置实施例,详细说明可以参照实施例二,在此不再赘述。

本公开的实施例还提供了一种电子设备,参照图5,包括:处理器501、存储器502以及存储在所述存储器502上并可在所述处理器上运行的计算机程序5021,所述处理器501执行所述程序时实现前述实施例的打印机配置方法。

本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的打印机配置方法。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的实施例的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开的实施例的打印机配置设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。

以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!