CN111399786B - 打印文件的生成方法、装置、终端设备及存储介质 - Google Patents
打印文件的生成方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111399786B CN111399786B CN202010127334.0A CN202010127334A CN111399786B CN 111399786 B CN111399786 B CN 111399786B CN 202010127334 A CN202010127334 A CN 202010127334A CN 111399786 B CN111399786 B CN 111399786B
- Authority
- CN
- China
- Prior art keywords
- file
- template
- path
- preset
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000003860 storage Methods 0.000 title claims description 28
- 238000012360 testing method Methods 0.000 claims abstract description 33
- 238000004519 manufacturing process Methods 0.000 claims abstract description 26
- 238000013507 mapping Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013509 system migration Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请适用于计算机技术领域,提供了打印文件的生成方法,包括:获取打印文件生成请求,打印文件生成请求携带请求参数,请求参数包含打印数据和模板名称;根据模板名称,获取FOP服务的项目jar包中与模板名称对应的模板文件;将模板文件结合打印数据生成打印文件。从而使得测试环境和生产环境都在同一个项目jar包中获取相同的模板文件,确保测试环境的测试结果与生产环境的结果一致,保证打印系统读取模板文件不会出错,解决现有打印系统生成打印文件时读取资源文件会出现错误的问题。
Description
技术领域
本申请属于计算机技术领域,尤其涉及打印文件的生成方法、装置、终端设备及存储介质。
背景技术
FOP(Formatting Objects Processor)是基于XSL-FO的打印格式处理器。目前基于FOP服务的打印系统的环境配置存在限制,打印系统的测试环境和生产环境配置资源文件的目录不一样,导致打印系统生成打印文件时读取资源文件会出现错误。
发明内容
本申请实施例提供了打印文件的生成方法、装置、终端设备及存储介质,可以解决现有打印系统生成打印文件时读取资源文件会出现错误的问题。
第一方面,本申请实施例提供了一种打印文件方法,基于FOP服务,方法包括:
获取打印文件生成请求,所述打印文件生成请求携带请求参数,所述请求参数包含打印数据和模板名称;
根据所述模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件;
将所述模板文件结合所述打印数据生成打印文件。
本申请实施例通过获取携带请求参数的打印文件生成请求,请求参数包含打印数据和模板名称,根据模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件,将所述模板文件结合所述打印数据生成打印文件,从而使得测试环境和生产环境都在同一个项目jar包中获取相同的模板文件,保证打印系统在生产环境下读取到测试环境中通过的模板文件,从而保证读取模板文件不会出错,确保测试环境的测试结果与生产环境的结果一致,解决现有打印系统生成打印文件时读取资源文件会出现错误的问题。
第二方面,本申请实施例提供了一种打印文件的生成装置,基于FOP服务,装置包括:
第一获取模块,用于获取打印文件生成请求,所述打印文件生成请求携带请求参数,所述请求参数包含打印数据和模板名称;
第二获取模块,用于根据所述模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件;
生成模块,用于根据所述模板文件和所述打印数据生成打印文件,所述打印文件包含所述模板文件和所述打印数据。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的打印文件的生成方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的打印文件的生成方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的打印文件的生成方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的打印文件的生成方法的流程示意图;
图2是本申请另一实施例提供的打印文件的生成方法的流程示意图;
图3是本申请另一实施例提供的打印文件的生成方法的流程示意图;
图4是本申请另一实施例提供的打印文件的生成方法的流程示意图;
图5是本申请另一实施例提供的打印文件的生成方法的流程示意图;
图6是本申请另一实施例提供的打印文件的生成方法的流程示意图;
图7是本申请实施例提供的打印文件的生成装置的结构示意图;
图8是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
如背景技术相关介绍,目前基于FOP服务的打印系统的环境配置存在限制,打印系统的测试环境和生产环境配置资源文件的目录不一样,导致打印系统生成打印文件时读取资源文件会出现错误。所以目前,当测试环境通过的模板文件移交到生产环境时,人为地将包含模板文件的资源文件移动至生产环境的目录,但这样很容易出现人为操纵导致资源文件的存放目录错误,从而也会导致打印系统生成打印文件时读取资源文件会出现错误。
因此,本申请实施例提供一种打印文件的生成方法,实现从测试环境与生产环境的配置相同的目录下获取资源文件,保证打印系统生成打印文件时读取资源文件不会出错。
其中,上述打印系统基于FOP服务,FOP服务对应有一个项目jar包,该jar包为FOP服务的执行文件,即FOP服务在不同环境下均会加载的文件。
本申请实施例提供的打印文件的生成方法可以应用于手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、桌上型计算机、多功能打印机、传真机等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
图1示出了本申请提供的打印文件的生成方法的示意性流程图,作为示例而非限定,该方法可以应用于上述终端设备中。
S101,获取打印文件生成请求,所述打印文件生成请求携带请求参数,所述请求参数包含打印数据和模板名称;
在上述S101中,打印文件获取请求可以是测试环境下的请求,也可以是生产环境下的请求,具体地,测试环境下,前端测试系统向FOP服务发送打印文件获取请求,FOP服务接收该打印文件获取请求;生产环境下,前端业务系统向FOP服务发送打印文件获取请求,FOP服务接收该打印文件获取请求。上述请求参数包括但不限于需要打印的xml数据(打印数据)、请求单号、模板名称。
S102,根据所述模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件;
在上述S102中,上述项目jar(javaarchive)包为FOP服务的执行文件,如Web AppLibrary目录下的fop-run-1.7.jar,即FOP服务运行时所依赖的jar文件,其可以由java虚拟机JVM直接执行而无需事先提取文件或者设置类路径。将包含模板文件的资源文件打包至jar包中,所以模板文件可以在不同环境中启动jar包时被加载,这样不同环境下加载出来的模板文件相同,以保证测试环境和生产环境的模板文件的一致性,以及避免不同环境下配置的模板文件出现无法被读取的问题。应理解,资源文件中还可以包含其他数据或文件,如映射文件、字体文件、图片文件等。
在一种可能实现的方式中,获取模板名称对应的模板路径,根据该模板路径和模板名称通过文件流的方式获取模板名称对应的模板文件。
S103,将所述模板文件结合所述打印数据生成打印文件。
在上述S103中,将模板文件转换为数据流,该数据流与打印数据结合生成指定格式的打印文件,打印文件传输给打印机打印。应理解,还可以根据资源文件中的字体文件和图片文件调整打印文件的字体和图片样式。
在图1所示实施例的基础上,图2示出了本申请实施例提供的另一种打印文件的生成方法的流程示意图。如图2所示,上述S102具体包括S201和S202。需要说明的是,与图1实施例相同的步骤此处不再赘述,请参见前述。
S201,读取所述FOP服务的项目jar包中的映射文件,所述映射文件中包含模板文件的模板名称与模板路径的对应关系,所述模板路径为相对于所述jar包的类路径的相对路径;
在上述S201中,目前的打印文件的生成方法都是基于某一个环境(如测试环境或生产环境)的,模板文件不是存放于jar包中的,所以都是通过绝对路径直接获取模板文件。而在本申请实施例的模板文件打包在jar包中,jar包属于一个压缩文件,模板文件也属于一个文件,所以无法通过绝对路径获取到jar包中的模板文件。因此本申请实施例将模板文件在jar包中的存放路径配置为相对路径,具体地,相对路径为模板文件在jar包中的存放路径相对于jar包的类路径的路径。
可选地,上述映射文件为xml文件。读取项目jar包中的映射文件可具体包括:读取映射文件Style2DataAbsolutePath.xml中的模板列表,从模板列表中获取模板名称对应的模板路径。应理解,Style2DataAbsolutePath仅作为示例,不作为限定本申请的实施手段。
S202,根据所述模板名称,获取所述jar包中所述模板名称对应模板路径下的模板文件。
在上述S202中,可以根据相对路径包含的模板文件的路径与jar包的类路径的相对关系,定位到模板文件的存放路径,从而获取该存放路径中的模板名称对应的模板文件。
在图2所示实施例的基础上,图3示出了本申请实施例提供的另一种打印文件的生成方法的流程示意图。如图3所示,上述S202具体包括S301和S302。需要说明的是,与图2实施例相同的步骤此处不再赘述,请参见前述。
S301,将所述模板路径和所述模板名称传入预设的文件流获取函数,得到所述模板名称对应的文件流;
在上述S301中,由于jar包为压缩文件,所以无法通过读取文件夹的常规手段进行读取jar包中的文件。本实施例中的上述文件流为字节输入流,其以字节的方式读取文件。
作为示例而非限定,将模板名称和相对路径传入预设函数:ClassPathResourceclassPathResource=new ClassPathResource("test.txt"),以定位模板文件,其中classPathResource为Resource目录的类路径,test为模板名称,txt为文件格式,再通过classPathResource.getInputStream()将classPathResourc路径中的模板文件转为文件流,即以文件流的方式读取该路径下的模板文件。应理解,以上示出的预设函数仅作为示例,不作为限定本申请的具体实施手段。
本实施采用文件流可以无视文件格式界限,能够将任何格式的文件读取为二进制流再变成计算机所能理解的进制语言,从而便于读取任何格式的模板文件,而不会受到格式局限。
S302,根据所述文件流输出所述模板名称对应的模板文件。
在上述S302中,将以字节的方式读取的模板文件的文件流输出为模板文件。
需要说明的是,由于类路径classpath无法动态更改,而测试环境与生产环境的类路径不同,所以直接将模板文件的模板路径配置为相对路径后,在测试环境与生产环境读取模板文件的相对路径依旧不同,因此直接将模板路径修改为相对路径,依旧存在测试环境与生产环境的模板文件存放位置不同的问题。本实施例将资源文件存放于项目jar包中,保证测试环境与生产环境读取相同的资源文件,并保证测试环境的测试结果与生产环境的结果保持一致;以及当系统需要移植到其他执行环境时,只需更改jar包并按照上述方法将原来FOP服务中的资源文件打包至更改后的jar包中,而无需重新上传新的资源文件,实现了提高系统迁移环境的可移植性,以及大大减轻了开发人员与测试人员、部署人员之间的沟通成本和工作量。
在图2所示实施例的基础上,图4示出了本申请实施例提供的另一种打印文件的生成方法的流程示意图。如图4所示,上述S102之前还包括S401~S403。需要说明的是,与图2实施例相同的步骤此处不再赘述,请参见前述。
目前如基于springboot进行开发的FOP服务的配置文件有多个,每个配置文件对应一个配置环境(如测试环境或生产环境等),配置文件可以为classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,其中每个路径分别存放配置环境对应的资源文件,这样不同环境的资源文件需要统统配置一次,操作非常麻烦。而本申请实施例将原来在FOP服务的配置文件config目录中的资源文件移动存储至预设目录resources,并将预设目录resources打包至jar包中,这样不同环境下启动相同的jar包时,得到相同的资源文件,保证打印系统读取资源文件不会出错。
S401,获取资源文件,所述资源文件包括所述模板文件和所述映射文件;
在上述S401中,上述资源文件还包括但不限于字体文件和图片文件,其中字体文件、图片文件与模板文件对应。可选地,以模板文件的模板名称为key、模板路径为value配置两者映射关系的映射文件。
S402,将所述资源文件存储至预设目录,并将所述预设目录中的所述模板文件移动至所述预设目录下的预设文件夹中,以及将所述映射文件中所述模板文件的模板路径配置为与所述预设文件夹对应的相对路径;
在上述S402中,上述预设目录为存放资源文件的文件夹,如resources。上述预设文件夹为存放资源文件的文件夹,如config_file。
在一种可能实现的方式中,在resources中新建一个文件夹config_file,将所述资源文件移动至所述config_file中,从而将字体文件、映射文件、模板文件、图片文件等存放于同一个目录下,以便于后续集中打包至FOP服务的项目jar包,从而保证测试环境与生产环境读取的静态资源文件相同。
可选地,上述config_file可包含多个子文件夹,如第一预设子文件夹stylexml和第二预设子文件夹xml_config,所述模板文件存储于所述stylexml,所述映射文件存储于所述xml_config。在FOP服务读取文件时,模板文件与映射文件的文件名称不同,所以一般不会出现读取模板文件时而读取到映射文件的情况,但为了保证绝对不会出现上述情况,将不同文件类型的文件分别存储于对应的文件夹中,从而保证系统运行不会出错,以及便于管理文件。应理解,上述resources、config_file、stylexml以及xml_config等预设目录或预设文件夹的名称仅作为示例,不作为限定本申请的实现方式。
S403,将所述预设目录打包到所述FOP服务的项目jar包中。
在上述403中,上述打包为将一个或多个文件(或文件夹)压缩至指定位置的位置,即将预设目录下的所有文件压缩至FOP服务的jar包的过程。将包含模板文件的预设目录打包至项目jar包中,这样不同环境下相同的jar包被启动时加载到的模板文件相同,从而使测试环境中测试通过的模板文件被移交至生产环境时不需要人为更改路径,生产环境下会读取测试环境中测试通过的模板文件,保证量执行环境的资源文件配置的一致性,减少人力物力的消耗和避免人为更改路径所带来的错误。
可选地,当需要将基于FOP服务的打印系统移植到其他环境时,只需更换jar包,再按照本申请实施例的方法将资源文件打包到更换的jar包即可,而不无需再为其他环境设置个性化配置,也无需重新上传定制的模板文件以及映射文件、字体文件、图片文件等,提高打印系统的移植效率。
在图4所示实施例的基础上,本申请提供另一种打印文件的生成方法的实施例。上述S402之前还包括S4021。需要说明的是,与图4实施例相同的步骤此处不再赘述,请参见前述。
S4021,将所述模板文件的编码格式转换为预设编码格式。
在上述S4021中,例如,模板文件的原编码格式为GBK,打印系统的文件编码格式为UTF-8,则可在打开模板文件后,在模板文件的XML声明中将encoding=“GBK”更改为encoding=“UTF-8”。应理解,当模板文件的编码格式与FOP服务对应的打印系统的编码格式相同时,可不需要格式转换。通过将模板文件的编码格式转换为与系统编码格式一致,避免因编码格式不一致导致中文乱码问题,保证系统运行的流畅性。
在图4所示实施例的基础上,图5示出了本申请实施例提供的另一种打印文件的生成方法的流程示意图。如图5所示,上述S402中的将所述映射文件中所述模板文件的模板路径配置为与所述预设文件夹对应的相对路径,具体包括S501和S502。需要说明的是,与图4实施例相同的步骤此处不再赘述,请参见前述。
S501,获取所述项目jar包的类路径和所述预设文件夹的存储路径;
在上述S501中,上述存储路径为预设文件夹在jar包中的存储路径。可选地,通过预设代码指令获取FOP服务在项目jar包加载时的类路径classpath,预设代码指令如ResourceUtils.getURL("classpath:").getPath();获取classpath以得知后续将资源文件存放到的jar包的类路径,便于将映射文件中的模板路径配置为相对路径,从而使java执行环境可以得知在哪个目录下找到java程序所需要的类或者包。
S502,根据所述类路径和所述存储路径,将所述模板路径配置为与所述预设文件夹对应的相对路径,所述相对路径包含所述类路径和所述存储路径。
在上述S502中,映射文件记录的是模板文件的模板名称与模板路径的映射关系,以用于在应用(生产环境)时根据所记录的映射关系获取到所要查找的模板文件的模板路径。由于资源文件被移动至预设文件夹config_file中,所以映射文件中所记录的模板路径也应当更改为config_file在jar包中的路径,其中为了支持不同的执行环境,所以将模板路径配置为相对路径,以避免出现模板文件无法读取的情况。例如,可将key=abc、value=null,更改为,key=abc,value=classpath:/config_file/,以实现模板路径的配置更改,其中abc为模板名称,null表示空值,classpath为类路径、/config_file/为预设文件夹在jar包中的最终存放路径。
在图1所示实施例的基础上,图6示出了本申请实施例提供的另一种打印文件的生成方法的流程示意图。如图6所示,上述S103具体包括S601和S602。需要说明的是,与图1实施例相同的步骤此处不再赘述,请参见前述。
S601,将所述模板文件转换为数据流;
在上述S601中,数据流为一组有序、有起点和终点的字节的数据序列。将模板文件转换为二进制的数据流,以便于与打印数据结合并通过函数生成打印文件。
S602,将所述数据流和所述打印数据传入预设的打印文件生成函数中,生成所述打印文件。
在上述S602中,上述打印文件生成函数可以为xsl-fo函数,即为FOP服务将xml数据生成预设格式文件的方法。具体地,将二进制的数据流与xml打印数据进行拼接后,进行序列化和反序列化,生成xml打印数据对应的预设格式(如PDF)的打印文件。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的打印文件的生成方法,图7示出了本申请实施例提供的打印文件的生成装置700的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图7,该装置包括:
第一获取模块701,用于获取打印文件生成请求,所述打印文件生成请求携带请求参数,所述请求参数包含打印数据和模板名称;
第二获取模块702,用于根据所述模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件;
生成模块703,用于根据所述模板文件和所述打印数据生成打印文件,所述打印文件包含所述模板文件和所述打印数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8为本申请一实施例提供的终端设备的结构示意图。如图8所示,该实施例的终端设备8包括:至少一个处理器80(图8中仅示出一个)处理器、存储器81以及存储在所述存储器81中并可在所述至少一个处理器80上运行的计算机程序82,所述处理器80执行所述计算机程序82时实现上述任意各个打印文件的生成方法实施例中的步骤。
所述终端设备8可以是手机、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是终端设备8的举例,并不构成对终端设备8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),该处理器80还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81在一些实施例中可以是所述终端设备8的内部存储单元,例如终端设备8的硬盘或内存。所述存储器81在另一些实施例中也可以是所述终端设备8的外部存储设备,例如所述终端设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述终端设备8的内部存储单元也包括外部存储设备。所述存储器81用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (7)
1.一种打印文件的生成方法,基于FOP服务,其特征在于,所述方法包括:
获取打印文件生成请求,所述打印文件生成请求携带请求参数,所述请求参数包含打印数据和模板名称;
根据所述模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件;
将所述模板文件结合所述打印数据生成打印文件;
所述根据所述模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件,包括:
读取所述FOP服务的项目jar包中的映射文件,所述映射文件中包含模板文件的模板名称与模板路径的对应关系,所述模板路径为相对于所述jar包的类路径的相对路径;
根据所述模板名称,获取所述jar包中所述模板名称对应模板路径下的模板文件;
所述根据所述模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件之前,包括:
获取资源文件,所述资源文件包括所述模板文件和所述映射文件;
将所述资源文件存储至预设目录,并将所述预设目录中的所述模板文件移动至所述预设目录下的预设文件夹中,以及将所述映射文件中所述模板文件的模板路径配置为与所述预设文件夹对应的相对路径;
将所述预设目录打包到所述FOP服务的项目jar包中;将所述资源文件存放于所述项目jar包中,保证了测试环境与生产环境读取相同的资源文件,并保证了测试环境的测试结果与生产环境的结果一致;
所述将所述映射文件中所述模板文件的模板路径配置为与所述预设文件夹对应的相对路径,包括:
获取所述项目jar包的类路径和所述预设文件夹的存储路径;
根据所述类路径和所述存储路径,将所述模板路径配置为与所述预设文件夹对应的相对路径,所述相对路径包含所述类路径和所述存储路径。
2.如权利要求1所述的打印文件的生成方法,其特征在于,所述根据所述模板路径,获取所述jar包中所述模板路径对应模板名称的模板文件,包括:
将所述模板路径和所述模板名称传入预设的文件流获取函数,得到所述模板名称对应的文件流;
根据所述文件流输出所述模板名称对应的模板文件。
3.如权利要求1所述的打印文件的生成方法,其特征在于,所述将所述资源文件存储至预设目录之前,还包括:
将所述模板文件的编码格式转换为预设编码格式。
4.如权利要求1所述的打印文件的生成方法,其特征在于,所述将所述模板文件结合所述打印数据生成打印文件,包括:
将所述模板文件转换为数据流;
将所述数据流和所述打印数据传入预设的打印文件生成函数中,生成所述打印文件。
5.一种打印文件的生成装置,基于FOP服务其特征在于,用于实现如权利要求1至4任一项所述的打印文件的生成方法,所述装置包括:
第一获取模块,用于获取打印文件生成请求,所述打印文件生成请求携带请求参数,所述请求参数包含打印数据和模板名称;
第二获取模块,用于根据所述模板名称,获取所述FOP服务的项目jar包中与所述模板名称对应的模板文件;
生成模块,用于根据所述模板文件和所述打印数据生成打印文件,所述打印文件包含所述模板文件和所述打印数据。
6.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127334.0A CN111399786B (zh) | 2020-02-28 | 2020-02-28 | 打印文件的生成方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010127334.0A CN111399786B (zh) | 2020-02-28 | 2020-02-28 | 打印文件的生成方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399786A CN111399786A (zh) | 2020-07-10 |
CN111399786B true CN111399786B (zh) | 2024-03-08 |
Family
ID=71434068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010127334.0A Active CN111399786B (zh) | 2020-02-28 | 2020-02-28 | 打印文件的生成方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399786B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112496553A (zh) * | 2020-11-20 | 2021-03-16 | 航天信息股份有限公司 | 一种基于打印模板对卡片进行打印的方法及系统 |
CN113742286A (zh) * | 2021-08-31 | 2021-12-03 | 远光软件股份有限公司 | 档案数据归档版式文件生成方法、计算机装置及计算机可读存储介质 |
CN114489525B (zh) * | 2022-02-14 | 2024-06-04 | 平安科技(深圳)有限公司 | 打印报表生成方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554045A (zh) * | 2001-09-26 | 2004-12-08 | �Ҵ���˾ | 一种打印系统 |
JP2010167706A (ja) * | 2009-01-23 | 2010-08-05 | Canon Inc | 印刷制御装置、方法及びプログラム |
CN107025076A (zh) * | 2016-02-01 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种自动化打印测试方法及装置 |
CN110427603A (zh) * | 2019-08-15 | 2019-11-08 | 中国银行股份有限公司 | 凭证模板测试方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140330875A1 (en) * | 2013-05-02 | 2014-11-06 | Pinkquo Technologies Inc. | Method and system for processing data files using distributed services |
-
2020
- 2020-02-28 CN CN202010127334.0A patent/CN111399786B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1554045A (zh) * | 2001-09-26 | 2004-12-08 | �Ҵ���˾ | 一种打印系统 |
JP2010167706A (ja) * | 2009-01-23 | 2010-08-05 | Canon Inc | 印刷制御装置、方法及びプログラム |
CN107025076A (zh) * | 2016-02-01 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种自动化打印测试方法及装置 |
CN110427603A (zh) * | 2019-08-15 | 2019-11-08 | 中国银行股份有限公司 | 凭证模板测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111399786A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111399786B (zh) | 打印文件的生成方法、装置、终端设备及存储介质 | |
CN105049486B (zh) | 静态文件的版本管理方法、装置及系统 | |
US8185872B2 (en) | Cross-platform software package generation | |
US8661502B2 (en) | Determining a sensitivity label of document information in real time | |
KR101682738B1 (ko) | 관리 시스템 확장성 | |
US20090157716A1 (en) | Apparatus and method for acquiring data from memory of terminal | |
CN111414743B (zh) | 一种文档模板的调用方法、装置、电子设备及存储介质 | |
CN111176717B (zh) | 生成安装包的方法、装置及电子设备 | |
CN112769706B (zh) | 组件化路由方法及系统 | |
CN111142863B (zh) | 一种页面生成的方法及装置 | |
CN111652003B (zh) | 语言翻译处理方法、装置、电子设备和介质 | |
CN112765516A (zh) | 页面内容的展示方法和装置、存储介质、电子装置 | |
CN111651219A (zh) | 一种多模块项目配置文件管理的方法及设备 | |
CN111694795A (zh) | 一种文件在线预览方法、装置、终端和介质 | |
EP4300303A1 (en) | Animation resource information processing method and apparatus, device, medium and product | |
CN113268245A (zh) | 代码分析方法、装置及存储介质 | |
US20190012159A1 (en) | Systems and methods for uninstalling or upgrading software if package cache is removed or corrupted | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
CA2632810C (en) | Automatic package conformance validation | |
CN112506526B (zh) | 数据呈现软件部署方法、装置及电子设备 | |
US11321156B1 (en) | System for updating resources independently from source code | |
CN111273940B (zh) | 将程序文件上传至代码仓库的方法及装置 | |
CN114330244A (zh) | 一种对文件进行编排的方法、系统、设备和介质 | |
US20190196809A1 (en) | Span limited lexical analysis | |
CN112988528B (zh) | 日志处理方法、装置及容器组 |
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 |