一种分割打印方法和交易终端与流程

文档序号:17440954发布日期:2019-04-17 04:45阅读:142来源:国知局
一种分割打印方法和交易终端与流程

本发明属于金融交易技术领域,尤其涉及一种分割打印方法和交易终端。



背景技术:

一般的交易情况下,金融交易设备除了需要打印交易凭单外,还需要支持打印交易报告、交易明细等功能。由于交易数据量的不断增加,使得打印内容会逐渐变大,而硬件设备的打印缓冲区大小以及打印纸长度有限,导致设备出现打印异常。

综上,现有技术中存在由于打印内容过多导致打印异常的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种分割打印方法和交易终端,以解决现有技术中存在的由于打印内容过多导致打印异常的问题。

本发明实施例的第一方面提供了一种分割打印方法,包括:

创建包含打印信息的dom元素,并根据所述dom元素创建html交易文档;

判断所述html交易文档中是否存在未打印节点,若存在,按照预设顺序对所述dom元素进行分割,获取符合要求的打印元素;

将所述打印元素组合成打印模板,并通过调用打印设备打印所述打印模板。

本发明实施例的第二方面提供了一种交易终端,包括:

创建模块,用于创建包含打印信息的dom元素,并根据所述dom元素创建html交易文档;

分割模块,用于判断所述html交易文档中是否存在未打印节点,若存在,按照预设顺序对所述dom元素进行分割,获取符合要求的打印元素;

打印模块,用于将所述打印元素组合成打印模板,并通过调用打印设备打印所述打印模板。

本发明实施例的第三方面提供了一种交易终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述分割打印方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述分割打印方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:通过创建包含打印信息的dom元素,对dom元素进行分割,组成打印模板并进行打印,实现了分割打印,减少了每次打印的数据量,解决了硬件设备打印异常的问题;组合打印模板的方式简化了打印模板的排版、组织等的复杂度,使得打印内容简洁美观,提升了用户体验。

附图说明

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

图1是本发明的一个实施例提供的分割打印方法的流程示意图;

图2是本发明的一个实施例提供的交易终端的结构示意图;

图3是本发明的另一个实施例提供的交易终端的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

本发明的说明书和权利要求书及上述附图中的术语“包括”以及其他任何变形,是指“包括但不限于”,意图在于覆盖不排他的包含。例如包含一系列步骤或单元的过程、方法或系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例1:

图1示出了本发明的一个实施例提供的一种分割打印方法的实现流程,本实施例的流程执行主体可以是交易终端,交易终端包括支付终端、收银终端等,例如,pos(pointofsale)终端、atm设备等。

如图1所示,本发明实施例所提供的一种分割打印方法,包括:

步骤s101,创建包含打印信息的dom元素,并根据所述dom元素创建html交易文档;

其中,html交易文档包括dom元素和交易信息。

步骤s102,判断所述html交易文档中是否存在未打印节点,若存在,按照预设顺序对所述dom元素进行分割,获取符合要求的打印元素;

其中,未打印节点是指html交易文档中还未打印的内容。

本实施例判断html交易文档中是否存在未打印节点,若存在则依序执行到步骤s102-s103,若不存在则表示全部文档已经打印完毕直接结束。

步骤s103,将所述打印元素组合成打印模板,并通过调用打印设备打印所述打印模板。

本实施例中,分割打印是逐次完成的,每完成一次分割,组成打印模板进行打印后,会在html交易文档中删除已经打印过的dom元素。

步骤s103执行完毕后,重新进入步骤s102判断是否存在未打印节点。若存在,重复步骤s102-s103。若不存在则表示全部文档已经打印完毕,得到交易单。交易单可以是交易凭单、交易报告或交易明细等。

本发明实施例,通过创建包含打印信息的dom元素,对dom元素进行分割,组成打印模板并进行打印,实现了分割打印,减少了每次打印的数据量,解决了硬件设备打印异常的问题;组合打印模板的方式简化了打印模板的排版、组织等的复杂度,使得打印内容简洁美观,提升了用户体验。

在本发明的一个实施例中,步骤s101包括:

1)创建所述包含打印信息的dom元素;

2)使用标准iframe框架包裹所述包含打印信息的dom元素得到包裹后的dom元素,将所述包裹后的dom元素放入document对象,得到所述html交易文档。

本实施例中,html为hypertextmarkuplanguage、超级文本标记语言,用于组织网页内容,包括文字、图片、音视频等内容,提供链接、段落、列表等语义化标签。html交易文档是一种图形化的页面文件,本实施例中的html交易文档包含有交易单数据信息。

每个html交易文档都可得到document对象,document对象使用户可以从脚本中对html交易文档中的所有元素进行访问。

dom为documentobjectmodel,即文档对象模型。dom元素定义了html交易文档中的元素的对象和属性,以及访问它们的方法。通过使用dom元素,可以实现对html交易文档进行获取、修改、添加或删除等操作。

在本发明的一个实施例中,在步骤s101之后,所述分割打印方法还包括:

将所述html交易文档中的dom元素的属性设置为不可见,并获取所述dom元素的高度。

本实施例中,dom元素设置不可见,是为了防止打印dom的css(cascadingstylesheets,层叠样式表)样式影响到document的布局样式,从而影响了dom元素的实际高度的获取。

在本发明的一个实施例中,步骤s102中的对dom元素进行分割包括:

1)结合打印缓冲区的大小以及用户需求,进行测试后得到打印区长度;

2)按照所述预设顺序对所述dom元素进行分析,得到符合所述打印区长度的临界点;

3)根据所述打印区长度和所述dom元素的高度对所述临界点进行分析,得到分割位置;

4)按照所述分割位置对所述dom元素进行分割,得到所述打印元素。

在一个实施例中,结合交易终端的打印缓存区的大小以及用户最佳体验数据,进行相关测试后估算出较合适的打印区长度。

dom元素由多个节点组成,分为父节点和子节点,每个父节点包括若干个子节点。

例如,从dom元素的第一层父节点的第一个子节点开始,采用自上而下、层层分析的思想,若从起始位置到某节点的高度刚好满足打印区长度,则该节点为临界点。分析该临界点,考虑到用户对打印界面的简洁性、美观性等需求,若该临界点作为打印节点不符合需求,我们需要对临界点附近的节点进行分析,直至达到最大限制的打印长度,并符合用户需求,即可作为分割位置。

在一个实施例中,步骤s103中的将所述打印元素组合成打印模板包括:

将模板容器与打印元素相结合,得到打印模板。

可以理解为,将打印元素填入到模板容器中,从而产生了用于打印的打印文档,即为打印模板。打印模板可用来打印小票。

其中,模板容器是固定的,将打印元素填入到模板容器得到打印模板进行打印后。其中,模板容器与打印元素相结合的方法包括vue模板语法、数据绑定机制等。较大程度的简化了打印模版的排版、组织等的复杂度。

在本发明的一个实施例中,在步骤s103之后,所述分割打印方法还包括:

在打印完成后,从所述html交易文档中清除所述包含打印信息的dom元素。

清除是在最开始的document里面,设定好了dom元素的删除功能,该功能在打印完成后启动,这样可以使document里面的内容减少,使该文件更轻量,避免数据冗余造成各种影响。

在本实施例中,每完成一次dom元素的分割打印并删除后,对未打印的节点,重复上述整个流程。

本发明实施例,采用基于html技术的分割打印方法,解决了硬件设备的打印缓存区的容量限制以及交易单长度的限制,简化了打印模板的排版、组织等的复杂度,能够减少打印异常,并且提升了用户体验。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例2:

如图2所示,本发明的一个实施例提供的交易终端100,用于执行图1所对应的实施例中的方法步骤,其包括:

创建模块110,用于创建包含打印信息的dom元素,并根据所述dom元素创建html交易文档;

分割模块120,用于判断所述html交易文档中是否存在未打印节点,若存在,按照预设顺序对所述dom元素进行分割,获取符合要求的打印元素;

打印模块130,用于将所述打印元素组合成打印模板,并通过调用打印设备打印所述打印模板。

在本发明的一个实施例中,创建模块110包括:

元素创建单元,用于创建所述包含打印信息的dom元素;

包裹单元,用于使用标准iframe框架包裹所述包含打印信息的dom元素得到包裹后的dom元素,将所述包裹后的dom元素放入document对象,得到所述html交易文档。

在本发明的一个实施例中,交易终端100还包括:

属性处理模块,用于将所述html交易文档中的dom元素的属性设置为不可见,并获取所述dom元素的高度。

在本发明的一个实施例中,分割模块120包括:

长度获取单元,用于结合打印缓冲区的大小以及用户需求,进行测试后得到打印区长度;

临界点获取单元,用于按照所述预设顺序对所述dom元素进行分析,得到符合所述打印区长度的临界点;

分割位置获取单元,用于根据所述打印区长度和所述dom元素的高度对所述临界点进行分析,得到分割位置;

分割单元,用于按照所述分割位置对所述dom元素进行分割,得到所述打印元素。

在本发明的一个实施例中,交易终端100还包括:

删除模块,用于在打印完成后,从所述html交易文档中清除所述包含打印信息的dom元素。

在一个实施例中,交易终端100还包括其他功能模块/单元,用于实现实施例1中各实施例的方法步骤。

实施例3:

图3是本发明一实施例提供的交易终端的示意图。如图3所示,该实施例的交易终端3包括:处理器30、存储器31以及存储在所述存储器31中并可在所述处理器30上运行的计算机程序32。所述处理器30执行所述计算机程序32时实现如实施例1中所述的各实施例中的步骤,例如图1所示的步骤s101至s104。或者,所述处理器30执行所述计算机程序32时实现如实施例2中所述的各系统实施例中的各模块/单元的功能,例如图3所示模块110至140的功能。

所述交易终端3是指具有数据处理能力的终端,包括但不限于pos终端、atm设备、计算机、工作站、服务器,甚至是一些性能优异的智能手机、掌上电脑、平板电脑、个人数字助理(pda)、智能电视(smarttv)等。交易终端上一般都安装有操作系统,包括但不限于:windows操作系统、linux操作系统、安卓(android)操作系统、symbian操作系统、windowsmobile操作系统、以及ios操作系统等等。以上详细罗列了交易终端3的具体实例,本领域技术人员可以意识到,交易终端并不限于上述罗列实例。

所述交易终端可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图3仅仅是交易终端3的示例,并不构成对交易终端3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述交易终端3还可以包括输入输出设备、网络接入设备、总线等。

所称处理器30可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器31可以是所述交易终端3的内部存储单元,例如交易终端3的硬盘或内存。所述存储器31也可以是所述交易终端3的外部存储设备,例如所述交易终端3上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器31还可以既包括所述交易终端3的内部存储单元也包括外部存储设备。所述存储器31用于存储所述计算机程序以及所述交易终端3所需的其他程序和数据。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。

实施例4:

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如实施例1中所述的各实施例中的步骤,例如图1所示的步骤s101至步骤s104。或者,所述计算机程序被处理器执行时实现如实施例2中所述的各系统实施例中的各模块/单元的功能,例如图3所示的模块110至140的功能。

所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。

在上述实施例中,对各个实施例的描述都各有侧重,实施例1至4可以任意组合,组合后形成的新的实施例也在本申请的保护范围之内。某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的交易终端和方法,可以通过其它的方式实现。例如,以上所描述的系统/交易终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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