一种终端自动配置打印机的方法与流程

    专利2022-07-08  107


    本发明涉及打印技术领域,具体涉及一种终端自动配置打印机的方法。



    背景技术:

    目前云平台对接的打印,如报表等打印,采用浏览器服务端模式(bs模式),这种模式适合普通尺寸的文本打印,如a4尺寸的word文档,pdf文档。但是对于条码,由于尺寸小,一般为40mm*30mm,bs模式需要重新设置打印参数,而且ie浏览器无法实现多张不同条码的打印。许多第三方开发平台连接如读卡器等硬件很多基于ie的activex开发,这样在同时对接打印机时,需要频繁切换浏览器,造成使用的不方便和效率低下。

    另外,采用客户端服务端模式(cs模式),这种模式很多基本都是普通文本打印和条码打印分别两种软件打印,而条码打印目前不同的条码打印机所配套的打印软件也不同。第三方开发平台采用不同条码打印机对接,就需种熟悉对应的条码打印软件,这样同bs模式一样使用不方便且效率低下。



    技术实现要素:

    为解决现有技术中存在的问题,本发明的目的是提供一种终端自动配置打印机的方法,使终端通过webservice服务配置第三方平台接口,通过调用接口获取打印文档,并自动配置对应的打印机,从而进行打印操作,避免因不熟悉打印软件而造成的效率低的技术缺陷。

    为实现上述目的,本发明采用的技术方案是:

    一种终端自动配置打印机的方法,终端至少连接有文本打印机和条码打印机,所述方法包括:在终端预先安装所连接打印机的驱动系统,并在配置文件中配置有所连接打印机的参数;终端通过webservice服务配置第三方平台接口,通过调用接口获取打印文档,并将所获取的打印文档存储至指定文件夹中;根据所调用接口在配置文件中找到所对应的打印机参数,根据参数进行打印操作。

    进一步地,当所述打印机参数为文本打印机时,启动文本打印程序,将保存在指定文件中的打印文档转化为二进制字节流,根据配置的参数映射获取打印驱动对象,将打印文档二进制字节流传输至打印驱动对象里,调用打印机驱动完成文档打印。

    进一步地,当所述打印机参数为条码打印机时,还包括判断条码打印机是否为zebra系列打印机;若是,则将保存在指定文件中的打印文档转化为zpl字符流,根据配置的参数映射获取zebra条码打印驱动对象,将zpl字符流增加带头字符和结束字符后,传输至zebra条码打印驱动对象里,调用zebra打印机驱动完成条码图片打印;若否,则将保存在指定文件中的打印文档转化为图片字节流,根据配置的参数映射获取条码打印驱动对象,将图片字节流传输至打印驱动对象里,调用打印机驱动完成条码图片打印。

    进一步地,所述zpl字符流的结束字符为“^fs^xz”;带头字符的添加公式为:

    ^xa^lhxcoordinate,ycoordinate^ll100^pw580^fo0,0^gfa,toal,total,widebytes,”

    其中,^xa为标签内容开始,^lh为设置标签原点坐标,xcoordinate为x坐标,ycoordinate为y坐标,^fo0,0为标签位置坐标,^ll为长度打印截止坐标,^pw为打印宽度,^gfa为打印汉字配置,total为打印总字节长度,widebytes为图片字符除以8的倍数,超过8倍向上取整。

    本发明的有益效果是:

    本发明利用客户端服务端模式,即cs模式,配置打印机,根据配置信息自动选择打印机,以及进行zpl转换,并利用zpl语言优化打印样式,使终端同时连接多种打印机,实现对普通文本和条码各种形式的自动配置打印,从而提高了打印的效率;并且,无需熟悉各种打印软件,自动进行配置打印,提高了打印的便利性。

    附图说明

    图1为本发明实施例打印终端的连接示意图。

    图2为本发明实施例一种终端自动配置打印机的方法流程图。

    具体实施方式

    下面结合附图对本发明的实施例进行详细说明。

    在其中一个实施例中,如图1-2所示,

    本发明实施例的一种终端自动配置打印机的方法,采用客户端服务端模式,即cs模式。终端至少连接有文本打印机和条码打印机,其中,条码打印机包括zebra系列打印机。所述方法包括:

    步骤101,在终端预先安装所连接打印机的驱动系统,并在配置文件中配置有所连接打印机的参数;终端一般为pc机,预先安装好所连接打印机的驱动,如,文本打印机或条码打印机的驱动。同时在客户端配置文件中配置已连接打印机的打印机名称、规格等参数,如,文本打印机参数win32printer:hewlett-packardhplaserjetm1005等,条码打印机参数win32printer:zdesignergk888t(epl)或win32printer:argoxos-214plusseriesppla等。

    步骤102,终端通过webservice服务配置第三方平台接口,通过调用接口获取打印文档,并将所获取的打印文档存储至指定文件夹中;其中,客户端为本地启动的webservice服务,设置于终端内,第三方平台对接客户端,采用跨域调取客户端打印接口的方式。客户端同时配置第三方平台的接口,调用接口获取需打印文档,普通文档为pdf或word文档,尺寸为a4纸张大小;条码标签文档为jpg或png等图片文档,尺寸为40mm*30mm,宽高可浮动±10mm。客户端获取文档后,保存在终端的指定文件夹中。

    步骤103,根据所调用接口在配置文件中找到所对应的打印机参数,根据参数进行打印操作。调用接口可以为打印文本或打印条码接口,在配置文件中找到对应的打印机参数,根据参数进行打印操作。具体操作步骤为:

    当参数为文本打印机时,启动文本打印程序,将保存在指定文件夹的word或pdf文件转化为二进制字节流,再根据配置的参数映射获取打印驱动对象,将打印文档二进制字节流传输至打印驱动对象里,调用打印机驱动完成文档打印。

    当参数为条码打印机时,首先判断是否为zebra(zdesigner)系列打印机;

    如果不是,启动条码打印程序,将保存在指定文件夹的40mm*30mm的jpg或png文件转化为图片字节流,再根据配置的参数映射获取条码打印驱动对象,将图片字节流传输至条码打印驱动对象里,调用打印机驱动完成条码图片打印。

    如果是zebra(zdesigner)系列打印机,终端打印程序将保存在指定文件夹的40mm*30mm的jpg或png文件转化为zpl(zebraprogramminglanguage斑马系列打印机编程语言)字符流。获取字符流后,在字符流结尾添加结束字符“^fs^xz”,表示zpl字符流结束。根据如下公式:

    ^xa^lhxcoordinate,ycoordinate^ll100^pw580^fo0,0^gfa,toal,total,widebytes,(公式一)

    在字符流头添加带头字符,如:

    “^xa^lh110,20^ll100^pw580^fo0,0^gfa,9680,9680,40,”。

    其中,公式一中:^xa:标签内容开始;^lh:设置标签原点坐标;xcoordinate:x坐标;ycoordinate:y坐标;^fo0,0:标签位置坐标;^ll:长度打印截止坐标:^pw:打印宽度;^gfa:打印汉字配置;total:打印总字节长度;widebytes:图片字符除以8的倍数,超过8倍向上取整。

    再根据配置的参数映射,获取zebra条码打印驱动对象,将带头字符和结束符的zpl图片字符流传输至zebra条码打印驱动对象里,调用zebra打印机驱动完成条码图片打印。

    在另一实施例中,将本发明实施例一种终端自动配置打印机的方法存储为终端程序,在pc机上运行采用本发明的终端程序,终端程序对接云区域lis系统获取需要打印的pdf文本和条码号图片,再采用本方法实现pdf文本和条码号图片的打印。

    通过本发明一种终端自动配置打印机的方法,能够同时进行40mm*30mm条码纸和a4纸的普通打印以及实现多种打印机的兼容,解决终端打印功能的单一的问题,使终端能够打印不同规格纸张,并能够实用于多种打印机,兼容多种纸张和多种打印机;还避免了因不同条码打印机配套软件不同,而需要花费大量时间学习软件而造成的时间浪费;从而提高了终端打印的时效性及便利性。

    以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。


    技术特征:

    1.一种终端自动配置打印机的方法,其特征在于,终端至少连接有文本打印机和条码打印机,所述方法包括:

    在终端预先安装所连接打印机的驱动系统,并在配置文件中配置有所连接打印机的参数;

    终端通过webservice服务配置第三方平台接口,通过调用接口获取打印文档,并将所获取的打印文档存储至指定文件夹中;

    根据所调用接口在配置文件中找到所对应的打印机参数,根据参数进行打印操作。

    2.根据权利要求1所述的方法,其特征在于,当所述打印机参数为文本打印机时,启动文本打印程序,将保存在指定文件中的打印文档转化为二进制字节流,根据配置的参数映射获取打印驱动对象,将打印文档二进制字节流传输至打印驱动对象里,调用打印机驱动完成文档打印。

    3.根据权利要求1所述的方法,其特征在于,当所述打印机参数为条码打印机时,还包括判断条码打印机是否为zebra系列打印机;

    若是,则将保存在指定文件中的打印文档转化为zpl字符流,根据配置的参数映射获取zebra条码打印驱动对象,将zpl字符流增加带头字符和结束字符后,传输至zebra条码打印驱动对象里,调用zebra打印机驱动完成条码图片打印;若否,则将保存在指定文件中的打印文档转化为图片字节流,根据配置的参数映射获取条码打印驱动对象,将图片字节流传输至打印驱动对象里,调用打印机驱动完成条码图片打印。

    4.根据权利要求3所述的方法,其特征在于,所述zpl字符流的结束字符为“^fs^xz”;带头字符的添加公式为:

    “^xa^lhxcoordinate,ycoordinate^ll100^pw580^fo0,0^gfa,toal,total,widebytes,”

    其中,^xa为标签内容开始,^lh为设置标签原点坐标,xcoordinate为x坐标,ycoordinate为y坐标,^fo0,0为标签位置坐标,^ll为长度打印截止坐标,^pw为打印宽度,^gfa为打印汉字配置,total为打印总字节长度,widebytes为图片字符除以8的倍数,超过8倍向上取整。

    技术总结
    本发明公开了一种终端自动配置打印机的方法,终端至少连接有文本打印机和条码打印机,所述方法包括:在终端预先安装所连接打印机的驱动系统,并在配置文件中配置有所连接打印机的参数;终端通过web service服务配置第三方平台接口,通过调用接口获取打印文档,并将所获取的打印文档存储至指定文件夹中;根据所调用接口在配置文件中找到所对应的打印机参数,根据参数进行打印操作。通过本发明的方法,使终端同时连接多种打印机,实现对普通文本和条码各种形式的自动配置打印,从而提高打印的效率和便利性。

    技术研发人员:刘剑飞
    受保护的技术使用者:四川长虹电器股份有限公司
    技术研发日:2020.11.26
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23569.html

    最新回复(0)