CN111026338B - 基于可编辑模板的打印方法、打印装置及存储介质 - Google Patents

基于可编辑模板的打印方法、打印装置及存储介质 Download PDF

Info

Publication number
CN111026338B
CN111026338B CN201911110373.3A CN201911110373A CN111026338B CN 111026338 B CN111026338 B CN 111026338B CN 201911110373 A CN201911110373 A CN 201911110373A CN 111026338 B CN111026338 B CN 111026338B
Authority
CN
China
Prior art keywords
printing
data
template
print
request
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
CN201911110373.3A
Other languages
English (en)
Other versions
CN111026338A (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.)
Yonyou Network Technology Co Ltd
Original Assignee
Yonyou Network 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 Yonyou Network Technology Co Ltd filed Critical Yonyou Network Technology Co Ltd
Priority to CN201911110373.3A priority Critical patent/CN111026338B/zh
Publication of CN111026338A publication Critical patent/CN111026338A/zh
Application granted granted Critical
Publication of CN111026338B publication Critical patent/CN111026338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • 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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

本发明提供了一种基于可编辑模板的打印方法、打印装置及存储介质,其中可编辑模板的打印方法包括:获取打印请求,并对打印请求进行合法性检验;确认打印请求合法,根据第三方服务的并发通信信道,获取打印请求中携带的对应的条件参数信息;发送条件参数信息,并获取与条件参数信息对应的解析数据;根据解析数据和预置的打印模板,构建可编辑的打印数据模型,并根据数据模型生成打印任务。通过介于浏览器与云服务器之间构建可编辑的打印数据模型,进而实现从云服务器中置换出所有的打印逻辑的处理以及连接打印机的逻辑,减轻云服务器的内存压力,使云服务器性能得到优化,提高了打印效率。

Description

基于可编辑模板的打印方法、打印装置及存储介质
技术领域
本发明涉及打印软件技术领域,具体而言,涉及一种基于可编辑模板的打印方法、打印装置及一种计算机可读存储介质。
背景技术
由于原NC打印的一些逻辑都在后台代码进行处理,在ERP系统中,正常的逻辑流程是在云服务器端运行打印算法,生成pdf文件,传输给前端浏览器,应用浏览器的打印功能进行打印。因此,打印产生的运行数据会一直存在云服务器端的内存中,一旦打印频繁,容易出现内存溢出的情况,进而导致云服务器崩溃的现象发生,影响云服务器的性能,降低打印效率。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。
为此,本发明的第一方面提供了一种基于可编辑模板的打印方法。
本发明的第二方面提供了一种基于可编辑模板的打印装置。
本发明的第三方面提供了一种计算机可读存储介质。
有鉴于此,根据本发明的第一方面,提供了一种基于可编辑模板的打印方法,包括:获取打印请求,并对所述打印请求进行合法性检验;确认所述打印请求合法,根据第三方服务的并发通信信道,获取所述打印请求中携带的对应的条件参数信息;发送所述条件参数信息,并获取与所述条件参数信息对应的解析数据;根据所述解析数据和预置的打印模板,构建可编辑的打印数据模型,并根据所述数据模型生成打印任务。
在该技术方案中,本发明提供的基于可编辑模板的打印方法,通过第三方服务的并发通信信道,能够接收到多个打印请求;由于一个通信信道只能获取一个打印请求,多个通信信道并列获取打印请求中对应的条件参数信息后,将多个条件参数信息同时进行反射,能够支持打印操作的高并发,提高了多次读取打印操作的处理效率;由于反射后的条件参数信息会反馈相关联的解析数据,从而使云服务器被定义为打印请求中条件参数的读取端,打印所需的解析数据会从云服务器置换出来,从而无需在云服务器端处理打印逻辑,减轻了服务器端的内存压力,进一步提高了打印效率;最后将置换出的解析数据与预置的打印模板进行重新组装,构建打印数据模型,可以理解的是,构建后的打印数据模型具有可编辑性,能够生成具有可编辑打印样式的文件流,使编辑后的打印数据模型与打印任务相匹配,实现打印预览功能,构造可编辑的打印效果;由于解析数据中只包含打印请求中需要展示的打印信息,因此在构建打印数据模型的过程中无需对与打印请求无关的解析数据进行重新组装,从而支持可预览打印文件功能的同时,更进一步提高了预览功能的运行速度。本申请通过介于浏览器与云服务器之间构建可编辑的打印数据模型,进而实现从云服务器中置换出所有的打印逻辑的处理以及连接打印机的逻辑,减轻云服务器的内存压力,使云服务器性能得到优化,提高了打印效率。
另外,根据本发明上述技术方案提供的基于可编辑模板的打印方法,还具有如下附加技术特征:
在上述技术方案中,进一步地,预置的打印模板,包括:数据源模板和渲染模板。
在该技术方案中,预置的打印模板用于为重构的打印数据模型提供与解析数据相关联的模板,通过在预置的打印模板中分别设置数据源模板和渲染模板,能够完全契合解析数据中的参数信息,提高处理解析数据的运行效率,降低了逻辑代码的耦合性。
在上述技术方案中,进一步地,打印数据模型,包括:数据源变量值和模板数据。
在该技术方案中,打印数据模型用于在浏览器的预览功能中进行展示,其中打印数据模型主要包括两部分,第一部分是数据源变量值,第二部分是模板数据,能够反映预览功能中存储的多种打印样式,从而使打印数据模型具有可编辑性,实现分块编辑处理打印逻辑,进而提高打印效率。
在上述技术方案中,进一步地,发送条件参数信息,并获取与条件参数信息对应的解析数据,包括:根据发送的条件参数信息至服务器,以供服务器查询到与条件参数信息对应的实例化打印数据入口和实例化打印数据出口;对实例化打印数据入口中存储的预设规则进行剥离,得到与所述预设规则对应的解析数据并存储在对应的实例化打印数据出口中;从实例化打印数据出口中获取与条件参数信息对应的解析数据。
在该技术方案中,由于条件参数信息与解析数据之间具有映射的关联关系,因此服务器在接收到条件参数信息后,会采用查询的形式,匹配到与条件参数信息中相对应的实例化打印数据出口和实例化打印数据入口,可以理解的是,实例化打印数据出口与实例化打印数据入口之间是成对存在的,能够存储云服务器的打印预设规则和剥离后的解析数据。通过对实例化打印数据入口中存储的预设规则进行剥离处理后,此时云服务器被自动定义为解析数据的读取端,无需在云服务器中生成打印文件流,直接将剥离后获取到的解析数据存放在实例化打印数据出口中,进而实现介于云服务器的打印文件流的转移,减轻云服务器的内存压力,提高打印效率。
在上述技术方案中,进一步地,根据解析数据和预置的打印模板,构建打印数据模型,并根据数据模型生成打印任务,具体包括:根据数据源模板,解析解析数据中的变量参数,生成打印数据模型的数据源变量值;根据渲染模板,解析解析数据中的样式参数,生成打印数据模型的模板数据;根据模板数据和数据源变量值,构建打印数据模型。
在该技术方案中,将解析数据和预置的打印模板进行重新组装,其中解析数据中包含变量参数和样式参数,此时将变量参数作为数据源模板中的形式参数传入数据源模板,生成打印数据模型所需的数据源,即,数据源变量值;然后将样式参数作为渲染模板中的形式参数传入渲染模板,生成打印数据模型所需的打印样式,即模板数据,进而对实现方法进行解耦处理;最后通过对生成的模板数据和生成的数据源变量值进行规则构建,在浏览器生成可预览的打印文件,并且由于事先对规则构建所形成的打印数据模型,作适配处理,因此可预览的打印文件还具备可编辑性,能够在客户端页面更换打印的渲染样式。
在上述技术方案中,进一步地,确认打印请求合法,根据第三方服务的并发通信信道,获取打印请求中携带的条件参数信息,具体包括:第三方服务为插件服务。
在该技术方案中,第三方服务用于搭建在浏览器与云服务器之间,且第三方服务为插件服务,具有多个并发通信信道,能够获取打印请求中携带的条件参数信息,从而使打印请求与插件服务中的通信信道建立一一对应的反射关系,支持并发处理打印请求,从而提高了多次读取打印操作的处理效率。
在上述技术方案中,进一步地,确认打印请求合法,根据第三方服务的并发通信信道,获取打印请求中携带的对应的条件参数信息之前,还包括:确认打印请求合法,从第三方服务中获取与打印请求对应的并发通信信道,并将打印请求存放至对应的并发通信信道内;将并发通信信道中携带的单次可访问服务器的密钥与并发通信信道对应的打印请求进行绑定。
在该技术方案中,当确认获取的打印请求合法时,由于第三方服务中的每条通信信道内,均携带单次可访问服务器的密钥,用于保护云服务器的被访问数据的安全性,因此将密钥与打印请求进行绑定处理后,便于打印请求顺利访问云服务器,进一步提高云服务器的访问安全性。
在上述技术方案中,进一步地,获取打印请求,并对打印请求进行合法性检验,具体包括:如果打印请求具有合法性,则继续进行打印处理;如果打印请求不具有合法性,则拦截打印请求。
在该技术方案中,对于获取到的打印请求,执行数据校验判断,用于保证数据传输过程中的安全,避免出现恶意篡改或攻击云服务器的情况发生。如果判断合法,则说明此时打印请求符合校验规则,不存在恶意攻击性行为;如果判断不合法,则说明打印请求不符合校验规则,需要对该打印请求行为进行拦截处理,从而提高读取打印请求的可靠性。
根据本发明的第二方面,提供了一种可编辑模板的打印装置,包括存储器和处理器,存储器被配置为存储计算机程序;处理器被配置为执行计算机程序以实现如上述任一技术方案的基于可编辑模板的打印方法的步骤,因而具备该基于可编辑模板的打印方法的全部有益技术效果,在此不再赘述。
根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一技术方案的基于可编辑模板的打印方法的步骤,因而具备该基于可编辑模板的打印方法的全部有益技术效果,在此不再赘述。
根据本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明的第一个实施例的基于可编辑模板的打印方法的示意流程图;
图2示出了本发明的第一个实施例的基于可编辑模板的打印方法的示意流程图;
图3示出了本发明的第一个实施例的基于可编辑模板的打印方法的示意流程图;
图4示出了本发明的第一个实施例的基于可编辑模板的打印方法的示意流程图;
图5示出了本发明的第二个实施例的基于可编辑模板的打印装置的示意流程图;
图6示出了本发明的第二个实施例的基于可编辑模板的打印装置的结构示意图;
图7示出了本发明的第二个实施例的基于可编辑模板的打印装置的设备结构图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图7描述根据本发明一些实施例的基于可编辑模板的打印方法、基于可编辑模板的打印装置和计算机可读存储介质。
实施例一:
本发明第一方面的实施例提供了一种基于可编辑模板的打印方法。
具体阐述详细权要内容。
下文将以浏览器微型打印装置为例,此装置主要用于打印样式可编辑的ERP系统中,基于ERP系统的打印原理,制作成设备在客户端安装,此处将该设备定义为打印设备软件,从而对本申请的实施例进行具体说明。
图1示出了基于可编辑模板的打印方法的示意流程图。
如图1所示,该基于可编辑模板的打印方法包括:
步骤102,获取打印请求,并对打印请求进行合法性检验;
步骤104,确认打印请求合法,根据第三方服务的并发通信信道,获取打印请求中携带的对应的条件参数信息;
步骤106,发送条件参数信息,并获取与条件参数信息对应的解析数据;
步骤108,根据解析数据和预置的打印模板,构建可编辑的打印数据模型,并根据数据模型生成打印任务。
下面对本发明实施例提供的基于可编辑模板的打印方法进行说明:
当打印设备软件接收到浏览器发出的打印信号,会将此打印信号转换成客户端能够识别的打印请求。首先在JS(Javascript,是一种直译式脚本语言)页面中预设合法规则校验,对打印请求执行检验处理。当确认打印请求合法时,打印设备软件会通过预先搭建的第三方服务中的服务端信道,与云服务器进行数据传输。这里需要说明的是,第三方服务中的插件配置会在后台Eclipse(一个开放源代码、基于Java的可扩展开发平台)中预先设置,并通过创建连接接口的方式,在实现类中对第三方服务中接口的方法进行调用,以实现算法的二次重组。由于打印请求中会携带一些数据源数据的查询条件及模板查询条件信息,即,条件参数信息。在底层框架中,与数据库进行连接的数据访问层,这里可以包括Dao、Mapper等,需要在实现类中写入关于条件参数信息的结构化查询语言的多个方法,并将此层数据进行文件处理,形成数据库能够识别的Xml(一种文本格式)文件并发送至数据库,执行后台数据的查询功能,因此数据源数据中的查询条件、模板查询条件信息均与云服务器中的打印逻辑算法有关。
然后当云服务器接收到数据查询条件、打印模板查询条件时,会在Controller层(控制层,是应用程序中处理用户交互的部分)将条件参数信息作为形式参数传入实现类中的打印方法,也就是说在Controller层找到对应的方法入口,即实例化打印数据入口,通过Service层(服务层,用来封装不同接口的实现方法)中的具体实现类中包括的多个方法规则,数据访问层在接收到Service层发送的参数变量后,将参数变量作为形式参数传入数据访问层封装的方法中,实现后台数据库的数据源查找功能。由于Service层会预先设置解析数据源的方法规则,将从数据访问层中查找到的数据源,返回至Service层后,对查找到的数据源作为形式参数,传入Service层预先设置的解析方法规则中,从而实现在云服务器中对模板的变量进行解析,例如如果是公式,那么解析公式,存储为一个变量值;如果是元数据及系统变量,那么解析元数据及系统变量,同样需要存储为一个变量值。由于在第三方服务中只有一种变量,即为数据源变量,因此传入第三方服务中的数据源均为模板中已经解析好的值。再将模板中已经解析好的变量值,传入Controller层,实现Controller层与搭建的第三方服务的动态交互,也就是说,在Controller层找到对应的方法出口,即,实例化打印数据出口,将云服务器中的解析数据,从实例化打印数据出口中剥离出来,放入第三方服务后,反射给浏览器微型打印装置,从而实现在基于ERP系统云服务器中将打印需要的逻辑代码进行剥离,无需在云服务器处理打印规则,使基于ERP系统的云服务器由初始定义为逻辑处理端,置换为将基于ERP系统的云服务器定义为打印数据的读取端。
最后,打印设备软件获取到第三方服务传入的解析数据后,由于打印设备软件中预先设置打印模板,将解析数据和预置的打印模板进行重新组装,其中解析数据中包含变量参数和样式参数,此时将变量参数作为数据源模板中的形式参数,传入数据源模板,生成打印数据模型所需的数据源,即,数据源变量值;然后将样式参数作为渲染模板中的形式参数,传入渲染模板,生成打印数据模型所需的打印样式,即模板数据;通过对生成的模板数据和生成的数据源变量值,进行规则构建,在打印设备软件中生成可预览的打印文件,并且由于对规则构建所形成的打印数据模型,作适配处理,因此可预览的打印文件还具备可编辑性,能够在打印设备软件页面更换打印的渲染样式,实现了打印设备软件内部支持可预览,支持用户可选择客户端连接的打印机,可选择纸张类型以及调整自定义纸张的大小等功能。确定打印数据模型后,需要对应生成打印任务,并通过Websocket(一种在单个TCP连接上进行全双工通信的协议)通讯协议,将打印任务传输至具有实际打印功能的硬件打印机中,进而实现浏览器与打印设备软件之间的动态交互,以及打印设备软件与基于ERP系统的云服务器之间的动态交互,使得将所有的打印逻辑的处理以及连接打印机的逻辑全部放在打印设备软件中,同时,也实现了基于ERP系统云服务器的打印逻辑代码的剥离,从而减少服务器端的内存压力,解决了大批量数据打印时云服务器崩溃的可能,提高打印效率。
其中,还需要进一步说明的是,打印需要的逻辑代码进行剥离成功后,需要构建打印所需数据模型。该打印数据模型主要分为两部分,第一部分是变量值,即云服务器内控制层中的剥离出的数据源,第二部分为模板数据,即为打印的样式。
另外,本发明中采用的第三方服务是Netty(一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端)服务,该服务轻便、体积小,很多情况用户会打开多个浏览器窗口,会做多次的打印操作,支持高并发。
在一些实施方式中,预置的打印模板,包括:数据源模板和渲染模板。
在一些实施方式中,打印数据模型,包括:数据源变量值和模板数据。
图2示出了基于可编辑模板的打印方法的另一个示意流程图。
如图2所示,该基于可编辑模板的打印方法包括:
步骤202,获取打印请求,并对打印请求进行合法性检验;
步骤204,确认打印请求合法,根据第三方服务的并发通信信道,获取打印请求中携带的对应的条件参数信息;
步骤206,根据发送的条件参数信息至服务器,以供服务器查询到与条件参数信息对应的实例化打印数据入口和实例化打印数据出口;
步骤208,对实例化打印数据入口中存储的预设规则进行剥离,得到与预设规则对应的解析数据并存储在对应的实例化打印数据出口中;
步骤210,从实例化打印数据出口中获取与条件参数信息对应的解析数据;
步骤212,根据解析数据和预置的打印模板,构建可编辑的打印数据模型,并根据数据模型生成打印任务。
图3示出了基于可编辑模板的打印方法的再一个示意流程图。
如图3所示,该基于可编辑模板的打印方法还包括:
步骤302,获取打印请求,并对打印请求进行合法性检验;
步骤304,确认打印请求合法,根据第三方服务的并发通信信道,获取打印请求中携带的对应的条件参数信息;
步骤306,根据发送的条件参数信息至服务器,以供服务器查询到与条件参数信息对应的实例化打印数据入口和实例化打印数据出口;
步骤308,对实例化打印数据入口中存储的预设规则进行剥离,得到与预设规则对应的解析数据并存储在对应的实例化打印数据出口中;
步骤310,从实例化打印数据出口中获取与条件参数信息对应的解析数据;
步骤312,根据数据源模板,解析解析数据中的变量参数,生成打印数据模型的数据源变量值;
步骤314,根据渲染模板,解析解析数据中的样式参数,生成打印数据模型的模板数据;
步骤316,根据模板数据和数据源变量值,构建打印数据模型。
在该实施例中,第三方服务为插件服务,具体应用为Netty服务。
图4示出了基于可编辑模板的打印方法的另一个示意流程图。
如图4所示,该基于可编辑模板的打印方法还包括:
确认打印请求合法,根据第三方服务的并发通信信道,获取打印请求中携带的对应的条件参数信息之前,还包括:
步骤402,获取打印请求,并对打印请求进行合法性检验;
步骤404,确认打印请求合法,从第三方服务中获取与打印请求对应的并发通信信道,并将打印请求存放至对应的并发通信信道内;
步骤406,将并发通信信道中携带的单次可访问服务器的密钥与并发通信信道对应的打印请求进行绑定。
步骤408,确认打印请求合法,根据第三方服务的并发通信信道,获取打印请求中携带的对应的条件参数信息;
步骤410,根据发送的条件参数信息至服务器,以供服务器查询到与条件参数信息对应的实例化打印数据入口和实例化打印数据出口;
步骤412,对实例化打印数据入口中存储的预设规则进行剥离,得到与预设规则对应的解析数据并存储在对应的实例化打印数据出口中;
步骤414,从实例化打印数据出口中获取与条件参数信息对应的解析数据;
步骤416,根据数据源模板,解析解析数据中的变量参数,生成打印数据模型的数据源变量值;
步骤418,根据渲染模板,解析解析数据中的样式参数,生成打印数据模型的模板数据;
步骤420,根据模板数据和数据源变量值,构建打印数据模型。
在一些实施方式中,还需要说明的是,由于浏览器与打印设备软件之间进行交互,采用的是websocket通讯协议,因此,如果安装打印设备,会注册到注册表中,首先会查找注册表,如果没有安装会跳转到安装界面提示用户进行安装;如果已经安装会直接向打印设备软件中发送请求,请求中所带的数据为一些数据源数据的查询条件及模板查询条件信息,第三方服务获取到这些数据后会请求云服务器。同时为了解决因没有登陆无法发送打印请求的问题,此处采用单点登陆模式,当浏览器页面向第三方服务发送请求时,会带着一个单次可访问云服务器的密钥,访问请求一次会自动失效,从而解决了打印文件流的每次生成都需要读取license授权文件后再进行打印,如果尝试不读取license授权文件,生成的pdf文件会出现数据丢失并且样式错乱的问题。
在一些实施方式中,获取打印请求,并对打印请求进行合法性检验,具体包括:如果打印请求具有合法性,则继续进行打印处理;如果打印请求不具有合法性,则拦截打印请求。
实施例二:
本发明第二方面的实施例提供了一种基于可编辑模板的打印装置。
下文将以浏览器微型打印装置为例,此装置主要用于打印样式可编辑的ERP系统中,基于ERP系统的打印原理,制作成设备在客户端安装,此处将该设备定义为打印设备软件,需要说明的是,从而对本申请的实施例进行具体说明。
图5示出了基于可编辑模板的打印装置的一个工作流程图。
如图5所示,该基于可编辑模板的打印装置的工作流程还包括:
步骤502,判断是否安装打印设备软件;如果是,则执行步骤504;如果否,则执行步骤512;
步骤504,判断当前打印设备软件是否处于准备就绪状态;如果是,则执行步骤506;如果否,则执行步骤514;
步骤506,浏览器组件请求打印设备软件;
步骤508,打印设备软件请求ERP服务,请求数据;
步骤510,获取数据,解析数据打印;
步骤512,提示用户下载并安装,还需要执行步骤514;
步骤514,启动打印设备软件。
图6示出了基于可编辑模板的打印装置的一个结构示意图。
如图6所示,该基于可编辑模板的打印装置的设备交互还包括:
设备运行主要有两端服务,客户端和服务端,客户端指用户客户机器,主要的应用介质为浏览器,服务端为EPR服务,打印设备软件安装在用户的客户端。
图7示出了基于可编辑模板的打印装置的一个设备结构图。
如图7所示,对本实施例提供的基于可编辑模板的打印装置的设备结构进行说明:
安全校验组件主要对浏览器等介质发出的打印请求进行一次合法校验,判断此请求是否正规,如果存在恶意性的攻击,此组件会拦截请求。数据接收组件主要是对浏览器等介质的请求数据做接收并处理,例如用户需要打印的数据、安全校验需要的一些数据等。数据请求组件是打印设备对ERP服务发起请求,主要是获取需要打印的数据以及样式渲染数据。数据组装组件是对ERP服务反馈的数据做组装,方便打印时样式的渲染,以及一些公式功能对数据进行处理。任务发起组件是向打印机发起打印任务请求。样式渲染构建组件主要是对打印机打印时,构造具体的打印样式,实现可编辑打印的效果。
另外,本发明还对上述打印装置进行补充检验测试,具体测试流程如下:首先准备大数据量的数据,一定复杂度的模板。在服务端做压力及内存消耗监测以及时间的测试,时间点为第三方服务插件向服务器发出获取数据请求到获取数据到客户端为时间段。最后一个步骤为第三方服务插件本身对数据处理的效率监测。最后得出结论服务端解析数据占用的时间很短,模板中无需解析的数据无需伴随着解析过程带入,只会解析,模板中需要展示的数据。测试结果显示上述打印设备处理速度比较快,直接连接打印机,会输送给打印机打印任务,不仅利于用户可选择当前客户端可用打印机、打印机的纸张来源以及打印机支持的纸张类型,而且还能够降低服务器的压力,扩大占用客户端内存以及CPU(中央处理器,是信息处理、程序运行的最终执行单元)的比例。
实施例三:
根据本发明的实施例,提出一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例中提供的基于可编辑模板的打印方法,因此,该计算机可读存储介质包括如上述任一实施例中提供的基于可编辑模板的打印方法的全部有益效果,在此不再赘述。
在该实施例中,计算机可读存储介质,计算机程序被处理器执行时实现如上述任一技术方案的基于可编辑模板的打印方法的步骤,因此该计算机可读存储介质包括上述任一技术方案的基于可编辑模板的打印方法的全部有益效果。
具体地,计算机可读存储介质可以包括能够存储或传输信息的任何介质。计算机可读存储介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
在本申请中,术语“多个”则指两个或两个以上,除非另有明确的限定。术语“安装”、“相连”、“连接”、“固定”等术语均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;“相连”可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (7)

1.一种基于可编辑模板的打印方法,其特征在于,所述基于可编辑模板的打印方法包括:
获取打印请求,并对所述打印请求进行合法性检验;
确认所述打印请求合法,根据第三方服务的并发通信信道,获取所述打印请求中携带的对应的条件参数信息;
发送所述条件参数信息,并获取与所述条件参数信息对应的解析数据;
根据所述解析数据和预置的打印模板,构建可编辑的打印数据模型,并根据所述数据模型生成打印任务;
所述预置的打印模板,包括:
数据源模板和渲染模板;
所述打印数据模型,包括:
数据源变量值和模板数据;
所述发送所述条件参数信息,并获取与所述条件参数信息对应的解析数据,包括:
根据所述发送的条件参数信息至服务器,以供所述服务器查询到与所述条件参数信息对应的实例化打印数据入口和实例化打印数据出口;
对所述实例化打印数据入口中存储的预设规则进行剥离,得到与所述预设规则对应的解析数据并存储在对应的所述实例化打印数据出口中;
从所述实例化打印数据出口中获取与所述条件参数信息对应的解析数据。
2.根据权利要求1所述的基于可编辑模板的打印方法,其特征在于,所述根据所述解析数据和预置的打印模板,构建打印数据模型,并根据所述数据模型生成打印任务,具体包括:
根据所述数据源模板,解析所述解析数据中的变量参数,生成所述打印数据模型的所述数据源变量值;
根据所述渲染模板,解析所述解析数据中的样式参数,生成所述打印数据模型的所述模板数据;
根据所述模板数据和所述数据源变量值,构建所述打印数据模型。
3.根据权利要求1所述的基于可编辑模板的打印方法,其特征在于,所述确认所述打印请求合法,根据第三方服务的并发通信信道,获取所述打印请求中携带的条件参数信息,具体包括:
所述第三方服务为插件服务。
4.根据权利要求1所述的基于可编辑模板的打印方法,其特征在于,所述确认所述打印请求合法,根据第三方服务的并发通信信道,获取所述打印请求中携带的对应的条件参数信息之前,还包括:
确认所述打印请求合法,从所述第三方服务中获取与所述打印请求对应的并发通信信道,并将打印请求存放至对应的所述并发通信信道内;
将所述并发通信信道中携带的单次可访问服务器的密钥与所述并发通信信道对应的打印请求进行绑定。
5.根据权利要求1所述的基于可编辑模板的打印方法,其特征在于,获取打印请求,并对所述打印请求进行合法性检验,具体包括:
所述打印请求具有合法性,则继续进行打印处理;
所述打印请求不具有合法性,则拦截所述打印请求。
6.一种基于可编辑模板的打印装置,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至5中任一项所述的基于可编辑模板的打印方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于可编辑模板的打印方法的步骤。
CN201911110373.3A 2019-11-14 2019-11-14 基于可编辑模板的打印方法、打印装置及存储介质 Active CN111026338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911110373.3A CN111026338B (zh) 2019-11-14 2019-11-14 基于可编辑模板的打印方法、打印装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911110373.3A CN111026338B (zh) 2019-11-14 2019-11-14 基于可编辑模板的打印方法、打印装置及存储介质

Publications (2)

Publication Number Publication Date
CN111026338A CN111026338A (zh) 2020-04-17
CN111026338B true CN111026338B (zh) 2023-10-03

Family

ID=70200212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911110373.3A Active CN111026338B (zh) 2019-11-14 2019-11-14 基于可编辑模板的打印方法、打印装置及存储介质

Country Status (1)

Country Link
CN (1) CN111026338B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157220A (zh) * 2021-03-05 2021-07-23 上海中通吉网络技术有限公司 一种打印模板生成方法、装置和设备
CN112988088A (zh) * 2021-03-05 2021-06-18 珠海奔图电子有限公司 图像形成控制方法、装置及系统
CN113110808A (zh) * 2021-04-09 2021-07-13 上海商汤智能科技有限公司 文件打印方法及装置、电子设备和存储介质
CN113157586B (zh) * 2021-04-30 2024-04-05 中国工商银行股份有限公司 一种金融市场单元测试案例生成方法及装置
CN113434098B (zh) * 2021-07-09 2024-03-01 北京京东振世信息技术有限公司 打印功能实现方法、装置、电子设备、系统和存储介质
CN114253630B (zh) * 2021-12-23 2023-07-25 上海新炬网络信息技术股份有限公司 基于Java切面修改Form表单变化信息实现日志保存的方法
CN116092202A (zh) * 2023-02-01 2023-05-09 重庆旅游云信息科技有限公司 一种用于票务系统的网页高质量打印方法及装置

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000105676A (ja) * 1998-07-31 2000-04-11 Canon Inc 情報処理装置及び情報処理方法及びコンピュ―タ読み取り可能なプログラムが格納された記憶媒体
JP2003216367A (ja) * 2002-01-21 2003-07-31 Canon Inc 情報処理装置及び情報処理方法及び印刷制御プログラム
JP2003337810A (ja) * 2002-05-21 2003-11-28 Canon Inc 差込印刷方法
CN101118479A (zh) * 2006-08-03 2008-02-06 明基电通信息技术有限公司 文件编辑系统及方法
JP2008152545A (ja) * 2006-12-18 2008-07-03 Seiko Epson Corp 印刷処理システム及び印刷方法
CN101620520A (zh) * 2008-07-03 2010-01-06 精工爱普生株式会社 印刷控制装置、印刷装置的控制方法及控制程序
CN102693108A (zh) * 2012-05-10 2012-09-26 广州Jfe钢板有限公司 一种基于打印机服务器的打印集中管理的方法及系统
CN103345369A (zh) * 2013-06-21 2013-10-09 广东华大集成技术有限责任公司 卡片打印图形编辑系统及卡片编辑方法
CN107037991A (zh) * 2016-02-04 2017-08-11 索尼公司 信息处理设备、信息处理方法以及分布式部件
CN107133001A (zh) * 2017-05-04 2017-09-05 浙江路港互通信息技术有限公司 一种面单打印方法、装置及客户端
CN107741836A (zh) * 2017-11-13 2018-02-27 成都创慧科达科技有限公司 一种基于共享打印机的文件编辑方法和系统
CN108170385A (zh) * 2017-12-27 2018-06-15 浪潮金融信息技术有限公司 模板打印方法及系统、计算机可读存储介质、终端
CN108228119A (zh) * 2018-01-11 2018-06-29 平安万家医疗投资管理有限责任公司 基于hxml的打印方法、终端设备及存储介质
CN109164992A (zh) * 2018-08-16 2019-01-08 北京易华录信息技术股份有限公司 一种支持多语言打印模板及其转化为html模板的系统
CN110727417A (zh) * 2018-06-28 2020-01-24 腾讯科技(北京)有限公司 一种数据处理方法和装置
CN110837347A (zh) * 2019-11-06 2020-02-25 王前 基于解析插件的网页打印方法、服务器及存储介质
CN111208956A (zh) * 2019-12-26 2020-05-29 广东飞企互联科技股份有限公司 一种根据打印模板实现电子公文表单打印的方法及系统
CN111488130A (zh) * 2020-03-20 2020-08-04 厦门汉印电子技术有限公司 一种云打印方法、装置、系统及云打印机
CN113138759A (zh) * 2021-04-23 2021-07-20 上海中通吉网络技术有限公司 一种适用于多国快递面单打印的装置
CN113360100A (zh) * 2020-03-06 2021-09-07 北京京东振世信息技术有限公司 一种数据打印方法和打印管理系统
CN114817794A (zh) * 2021-01-21 2022-07-29 腾讯科技(北京)有限公司 网页内容控制方法、装置、设备及介质
CN115454361A (zh) * 2022-08-23 2022-12-09 上海东普信息科技有限公司 网点远程打印方法、装置、设备及存储介质
CN116088776A (zh) * 2023-02-28 2023-05-09 上海中通吉网络技术有限公司 一种支持多业务场景复用的数据打印方法及系统

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000105676A (ja) * 1998-07-31 2000-04-11 Canon Inc 情報処理装置及び情報処理方法及びコンピュ―タ読み取り可能なプログラムが格納された記憶媒体
JP2003216367A (ja) * 2002-01-21 2003-07-31 Canon Inc 情報処理装置及び情報処理方法及び印刷制御プログラム
JP2003337810A (ja) * 2002-05-21 2003-11-28 Canon Inc 差込印刷方法
CN101118479A (zh) * 2006-08-03 2008-02-06 明基电通信息技术有限公司 文件编辑系统及方法
JP2008152545A (ja) * 2006-12-18 2008-07-03 Seiko Epson Corp 印刷処理システム及び印刷方法
CN101620520A (zh) * 2008-07-03 2010-01-06 精工爱普生株式会社 印刷控制装置、印刷装置的控制方法及控制程序
CN102693108A (zh) * 2012-05-10 2012-09-26 广州Jfe钢板有限公司 一种基于打印机服务器的打印集中管理的方法及系统
CN103345369A (zh) * 2013-06-21 2013-10-09 广东华大集成技术有限责任公司 卡片打印图形编辑系统及卡片编辑方法
CN107037991A (zh) * 2016-02-04 2017-08-11 索尼公司 信息处理设备、信息处理方法以及分布式部件
CN107133001A (zh) * 2017-05-04 2017-09-05 浙江路港互通信息技术有限公司 一种面单打印方法、装置及客户端
CN107741836A (zh) * 2017-11-13 2018-02-27 成都创慧科达科技有限公司 一种基于共享打印机的文件编辑方法和系统
CN108170385A (zh) * 2017-12-27 2018-06-15 浪潮金融信息技术有限公司 模板打印方法及系统、计算机可读存储介质、终端
CN108228119A (zh) * 2018-01-11 2018-06-29 平安万家医疗投资管理有限责任公司 基于hxml的打印方法、终端设备及存储介质
CN110727417A (zh) * 2018-06-28 2020-01-24 腾讯科技(北京)有限公司 一种数据处理方法和装置
CN109164992A (zh) * 2018-08-16 2019-01-08 北京易华录信息技术股份有限公司 一种支持多语言打印模板及其转化为html模板的系统
CN110837347A (zh) * 2019-11-06 2020-02-25 王前 基于解析插件的网页打印方法、服务器及存储介质
CN111208956A (zh) * 2019-12-26 2020-05-29 广东飞企互联科技股份有限公司 一种根据打印模板实现电子公文表单打印的方法及系统
CN113360100A (zh) * 2020-03-06 2021-09-07 北京京东振世信息技术有限公司 一种数据打印方法和打印管理系统
CN111488130A (zh) * 2020-03-20 2020-08-04 厦门汉印电子技术有限公司 一种云打印方法、装置、系统及云打印机
CN114817794A (zh) * 2021-01-21 2022-07-29 腾讯科技(北京)有限公司 网页内容控制方法、装置、设备及介质
CN113138759A (zh) * 2021-04-23 2021-07-20 上海中通吉网络技术有限公司 一种适用于多国快递面单打印的装置
CN115454361A (zh) * 2022-08-23 2022-12-09 上海东普信息科技有限公司 网点远程打印方法、装置、设备及存储介质
CN116088776A (zh) * 2023-02-28 2023-05-09 上海中通吉网络技术有限公司 一种支持多业务场景复用的数据打印方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
共享3D打印云平台服务模式研究;张厚今等;《电子元器件与信息技术》(第04期);全文 *
基于Web的报表动态打印插件比较与应用;胡阳等;《现代计算机(专业版)》(第16期);全文 *

Also Published As

Publication number Publication date
CN111026338A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN111026338B (zh) 基于可编辑模板的打印方法、打印装置及存储介质
US5781739A (en) IMS/WWW mapping system
EP2537090B1 (en) Preventing unauthorized font linking
US7428583B1 (en) Network policy distribution
US7805669B2 (en) System and method for selective form configuration
EP1569416B1 (en) Methods and apparatuses for providing a requested service on a standardised protocol interface
KR100899521B1 (ko) 정보 처리 장치, 인쇄 시스템, 잡 처리 방법 및 기억 매체
CN105183403B (zh) 一种基于cups架构的打印管控方法
EP1923795A1 (en) Representing extensible markup language as an executable having conditional authentication or policy logic
US8264721B2 (en) Server apparatus, management system, and method
WO2011127758A1 (zh) 网页制作的方法和系统,客户端、服务端
US8208152B2 (en) Printer controlled default driver configuration
US20130167214A1 (en) Information processing apparatus, information processing system, and computer program
US7069294B2 (en) Browser based multiple file upload
WO2016082696A1 (zh) 一种ua识别方法、装置
JP2008251009A (ja) エンドユーザのコンピュータでターゲット装置のドライバをインストールするための方法及び周辺装置
US8416429B2 (en) Methods and structure for substantially automated device capabilities file generation using XML schema
US20160191633A1 (en) Method and apparatus for implementing communication from web page to client
CN113330419A (zh) 一种设备应用安装方法和装置
JP2010160740A (ja) 管理装置、情報処理装置、ログ処理方法及びプログラム
CN106502977B (zh) 一种基于b/s构架的表单处理方法及表单系统
US8869291B2 (en) Generating and storing document data
GB2409948A (en) Managing a network with generic policy definitions
JP2009205320A (ja) 印刷システム
US20160021271A1 (en) Image forming apparatus which generates images of web pages

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