CN117236288A - Pdf账单生成方法、装置、电子设备及存储介质 - Google Patents
Pdf账单生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117236288A CN117236288A CN202311189002.5A CN202311189002A CN117236288A CN 117236288 A CN117236288 A CN 117236288A CN 202311189002 A CN202311189002 A CN 202311189002A CN 117236288 A CN117236288 A CN 117236288A
- Authority
- CN
- China
- Prior art keywords
- data
- dynamic
- bill
- file
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000003068 static effect Effects 0.000 claims description 70
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本申请提供一种PDF账单生成方法、装置、电子设备及存储介质。该方法包括:获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,账单数据包括动态数据,HTML模板包括动态元素标志和动态元素标志的位置标志信息,动态元素标志为动态数据的元素标志;根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置;根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件;根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件。本申请的方法,增加了HTML模板的布局灵活性,提高了PDF账单生成效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种PDF账单生成方法、装置、电子设备及存储介质。
背景技术
PDF(Portable Document Format,可携带文档格式),是由Adobe Systems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF文件以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果,即PDF会忠实地再现原稿的每一个字符、颜色以及图象。
在相关技术中,PDF账单生成程序在使用过程中一般都是根据相关系统要求单独开发,因此PDF账单生成也有多种方法。目前存在的PDF账单生成方法中,第一种主要针对的是固定样式文件,这种方法需要每个样式对应一个账单生成程序,主要使用在账单样式比较少的情况;第二种主要是用Excel生成相应的PDF,首先将所有数据生成Excel基础文件,然后通过转换工具将Excel转换为PDF,由此满足大批量PDF文件的生成;第三种主要是针对可变样式PDF账单的生成,利用HTML固定模板生成相应的PDF,解决固定样式PDF生成方法的不足。
然而目前的PDF账单生成方式存在灵活性不足、无法满足用户端需求的问题。
发明内容
本申请提供一种PDF账单生成方法、装置、电子设备及存储介质,用以解决目前的PDF账单生成方式存在灵活性不足、无法满足用户端需求的问题。
第一方面,本申请提供一种PDF账单生成方法,应用于PDF账单生成系统,包括:
获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,账单数据包括动态数据,动态数据包括动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据至少一种数据,HTML模板包括动态元素标志和动态元素标志的位置标志信息,动态元素标志为动态数据的元素标志;
根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置;
根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件;
根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件。
在本申请中,获取账单数据、HTML模板、以及PDF账单外观样式参数,包括:
确定PDF账单生成系统中预设的HTML模板;
接收用户端发送的PDF账单生成请求;
根据PDF账单生成请求,得到账单数据和PDF账单外观样式参数。
在本申请中,根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据标志在HTML模板中的位置,包括:
确定账单数据中的数据类型;
根据数据类型,确定账单数据中的动态数据,其中,动态数据表征数据类型为动态文本数据类型、固定行列表格数据类型、动态可扩展表格数据类型、图片数据类型、以及其他特殊种类数据类型的数据;
根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置。
在本申请中,根据动态数据、动态元素标志、以及动态元素标志的位置标志信息,确定动态数据在HTML模板中的位置,包括:
确定动态数据和动态元素标志的第一对应关系;
根据动态元素标志的位置标志信息,确定各个动态元素标志的样式布局和点位信息;
根据第一对应关系、以及各个动态元素标志的样式布局和点位信息,确定动态数据在HTML模板中的位置。
在本申请中,账单数据还包括静态数据,HTML模板还包括静态元素标志和静态元素标志的位置标志信息,
根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件,包括:
根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到初始目标HTML文件;
确定静态数据和静态元素标志的第二对应关系;
根据静态元素标志的位置标志信息,确定各个静态元素标志的样式布局和点位信息;
根据第二对应关系、以及各个静态元素标志的样式布局和点位信息,确定静态数据在HTML模板中的位置;
根据静态数据在HTML模板中的位置,将静态数据对应添加至初始目标HTML文件,得到目标HTML文件。
在本申请中,根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件,包括:
检测PDF账单生成系统中的wkhtmltopdf插件;
若未检测到wkhtmltopdf插件,则确定目标HTML文件的文件类型;
若目标HTML文件的文件类型为表格布局类型,则根据PD4ML插件、PDF账单外观样式参数、以及目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件;
若目标HTML文件的文件类型为非表格布局类型,则根据iText插件、PDF账单外观样式参数、以及目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件。
在本申请中,在检测PDF账单生成系统中的wkhtmltopdf插件之后,方法还包括:
若检测到wkhtmltopdf插件,则根据wkhtmltopdf插件、PDF账单外观样式参数、以及目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件。
在本申请中,在根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件之后,方法还包括:
将PDF账单文件发送至用户端,以在用户端显示PDF账单文件。
第二方面,本申请提供一种PDF账单生成装置,包括:
获取模块,用于获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,账单数据包括动态数据,动态数据包括动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据至少一种数据,HTML模板包括动态元素标志和动态元素标志的位置标志信息,动态元素标志为动态数据的元素标志;
确定模块,用于根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置;
添加模块,用于根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件;
转换模块,用于根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件。
第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现本申请的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本申请的方法。
本申请提供的PDF账单生成方法、装置、电子设备及存储介质,通过获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,账单数据包括动态数据,动态数据包括动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据至少一种数据,HTML模板包括动态元素标志和动态元素标志的位置标志信息,动态元素标志为动态数据的元素标志;根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置;根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件;根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件的手段,可以利用HTML模板转换为PDF文件的方式,达到在不同的系统中PDF生成程序的HTML模板能够复用的效果,因为采用了HTML文件的动态元素标志,因此可以将账单数据中的动态数据进行对应导入HTML模板中,同时根据动态元素标志的位置标志信息来确定动态数据在HTML模板中的位置,能够根据用户需求任意改变模板布局,以及对不同元素的点位控制和样式进行调整,实现了在PDF未生成前,就能查看待生成的PDF文件的格式及内容,达到所见即所得的效果,且根据PDF外观样式参数,对HTML文件进行转换,生成PDF账单文件,可以满足通信类业务的PDF账单外观样式需求,实现适用于生成可变数据PDF账单、以及过程简单、灵活性高的效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的PDF账单生成方法的流程示意图;
图2为本申请实施例提供的另一种PDF账单生成方法;
图3为本申请实施例提供的PDF账单生成装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
现有技术中,由于在进行PDF账单生成时,一般针对固定样式文件,无法满足对于生成可变数据PDF文件的需求,而对于生成可变样式PDF文件,又存在需要多次进行调整点位以及模板修改,操作繁琐,缺乏灵活性的技术问题。
为了解决上述问题,本申请提供的PDF账单生成方法、装置、电子设备及存储介质,应用于PDF账单生成系统,可以通过获取账单数据、HTML模板、以及PDF账单外观样式参数,从而确定需要进行转换的账单数据和待生成的账单外观样式,并根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置,用于调整动态数据在模板中的点位信息和样式布局,根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件,以根据生成的完整HTML文件预览查看待生成账单的格式及内容,最后仅根据PDF账单外观样式参数,对目标HTML文件进行转换,就能实现满足用户需求的元素布局及外观样式的PDF账单的生成,由此,可以实现生成可变数据PDF文件,且生成的PDF文件满足用户需求,可以灵活进行模板内元素的调整,操作简单的效果。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供的PDF账单生成方法、装置、电子设备及存储介质的执行主体可以是服务器。其中,服务器可以为电脑、手机、平板等设备。本实施例对执行主体的实现方式不做特别限制,只要该执行主体能够获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,账单数据包括动态数据,动态数据包括动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据至少一种数据,HTML模板包括动态元素标志和动态元素标志的位置标志信息,动态元素标志为动态数据的元素标志;根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置;根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件;根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件即可。
其中,HTML(Hyper Text Markup Language,超文本标记语言)可以指一种描述Web(World Wide Web,全球广域网)文档结构和语义的语言,提供网页的具体内容,包括文本、表单、图像、表格、链接、多媒体、列表等,其中,网页中的内容通过HTML元素(Element)标记,HTML元素可以指由开始标签(start tag)到结束标签(end tag)、以及它们之间的所有代码组成的整体,HTML元素是构成HTML文件的基本对象,HTML标签(Tag)可以指HTML中使用尖括号将元素名包围起来的符号,如<img>、<title>、<p>、<div>等等,用于定义和描述HTML元素。
图1为本申请实施例提供的PDF账单生成方法的流程示意图,本方法的执行主体可以为服务器,如图1所示,该方法可以包括:
S101、获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,账单数据包括动态数据,动态数据包括动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据至少一种数据,HTML模板包括动态元素标志和动态元素标志的位置标志信息,动态元素标志为动态数据的元素标志。
其中,账单数据可以指账单中的各种数据信息,包括动态数据和静态数据这两种数据类型,静态数据可以指固定不变的文本、图片以及表格等数据,动态数据可以指动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据这五种类型数据,其中,动态文本数据可以指在账单中随工程、布局和图框等当前属性变化而变化的文本,当更新属性时,文本也将自动更新,包括日期、时间、查询文本等数据;固定行列表格数据可以指固定表格中指定的行列的表格,包括表头和各个行列的数据;动态表格数据可以指各个行列均可进行调整变化的表格,包括表头和变化数据信息;图片信息可以指图片的大小、路径以及点位信息;其它数据可以指图形信息等,获取账单数据可以指获取如上的至少一种数据。
HTML模板可以指在Web应用程序中HTML的一些可变的内容用一些关键字变量等代换,程序就可以读取该模板中的标签和元素,替换掉关键字变量,用实际数据内容填充模板,得到HTML文件,这样就可以适配不同的系统,且不同系统之间模板程序可以进行复用,在程序使用时,只用改动模板文件中的元素,就可以直接生成或者读取所有的数据,便于使用,而不需手动编写大量的HTML代码。
动态元素标志可以指动态数据的元素标志,包括文本内容元素标志、图片和多媒体元素标志、表格内容元素标志等,其中,文本内容元素标志可以指能够标识HTML中文本内容或者结构的元素标志,用于表示开标签<body>和闭标签</body>里的块或章节的内容,包括<blockquote>、<pre>等,其中,<body>可以指文档的内容,<blockquote>可以指其中的文字是引用内容,<pre>可以指预定义格式文本,其中的文本通常按照HTML文件中的编排,以非比例或等宽字体的形式展现出来,文本中的空白符也会显示出来;图片和多媒体元素标志可以指能够标识HTML中各种多媒体资源,例如图像、音频和视频的元素标志,包括<img>等,其中,<img>可以指将一张图像嵌入文档;表格内容元素标志可以指用于创建和处理表格数据的元素标志,包括<caption>、<col>、<table>等,其中,<caption>可以指定义表格的标题,<col>可以指定义表格中的列,<table>可以指定义表格数据,即由行和列组成的二维数据表表示的信息,由此,可以将动态数据嵌入HTML模板的动态元素中。
动态元素标志的位置标志信息可以指HTML动态元素在模板中的样式布局和点位信息,样式布局可以指动态元素在模板中的排版布局,点位信息可以指动态元素在模板中的位置,可以通过CSS(Cascading Style Sheets,层叠样式表)来为HTML元素定义颜色、字体、间距、边框等外观属性,以改变元素的呈现方式,通过调整元素的位置、大小和排列方式,可以实现不同的网页布局,以达到各种视觉效果,其中,CSS可以指一种用来表现HTML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化,能够对网页中元素位置的排版进行精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
PDF账单外观样式参数可以指PDF账单文件对标题、正文的默认字体、大小、颜色、前页外观、单个部分的排列间隔、行间距、四周页边距、标题间距离等参数的定义,可以根据用户端发送的PDF账单生成请求来进行修改和设定。
其中,在本申请实施例中,获取账单数据、HTML模板、以及PDF账单外观样式参数,包括:
确定PDF账单生成系统中预设的HTML模板;
接收用户端发送的PDF账单生成请求;
根据PDF账单生成请求,得到账单数据和PDF账单外观样式参数。
其中,PDF账单生成请求可以指用户端向PDF账单生成系统发送的请求,表征用户端期望获取的包含账单数据以及要求格式布局的PDF账单。
S102、根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置。
其中,在本申请实施例中,根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据标志在HTML模板中的位置,包括:
确定账单数据中的数据类型;
根据数据类型,确定账单数据中的动态数据,其中,动态数据表征数据类型为动态文本数据类型、固定行列表格数据类型、动态可扩展表格数据类型、图片数据类型、以及其他特殊种类数据类型的数据;
根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置。
其中,在本申请实施例中,根据动态数据、动态元素标志、以及动态元素标志的位置标志信息,确定动态数据在HTML模板中的位置,包括:
确定动态数据和动态元素标志的第一对应关系;
根据动态元素标志的位置标志信息,确定各个动态元素标志的样式布局和点位信息;
根据第一对应关系、以及各个动态元素标志的样式布局和点位信息,确定动态数据在HTML模板中的位置。
其中,第一对应关系可以指动态数据中的动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据这五种类型数据,与动态元素标志中的文本内容元素标志、图片和多媒体元素标志、表格内容元素标志等元素标志的对应关系,包括动态文本数据与文本内容元素标志对应,固定行列表格数据和动态可扩展表格数据与表格内容元素标志对应,图片数据和其他特殊种类数据与图片和多媒体元素标志对应,以确定第一对应关系为前提,保证能够将动态数据全部嵌入HTML模板中。
根据动态元素标志的位置标志信息,确定各个动态元素标志的样式布局和点位信息可以指在HTML模板生成完整的HTML文件之前,先确定动态元素标志的样式布局和点位信息,防止当账单的样式和点位需要变化时要进行模板的修改,由此,需要嵌入的动态数据只需要根据位置标志信息进行添加和修改位置,而不用对整个模板进行修改,不会影响模板的布局。
根据第一对应关系、以及各个动态元素标志的样式布局和点位信息,确定动态数据在HTML模板中的位置可以指确定动态数据与动态元素标志的第一对应关系和动态元素标志的样式布局和点位信息后,即确定了动态数据在HTML模板中的样式布局和点位信息,达到了将动态数据嵌入HTML模板的前提条件。
S103、根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件。
其中,将动态数据对应添加至HTML模板中可以指当确定动态数据和动态元素标志的第一对应关系和动态元素标志的样式布局和点位信息后,可以确定HTML模板中待添加动态数据的样式和点位,将动态数据根据第一对应关系、样式、以及点位,嵌入动态元素中,得到HTML文件,通过采用HTML元素的手段,以实现通过网页预览模式查看格式及内容的效果。
其中,在本申请实施例中,账单数据还包括静态数据,HTML模板还包括静态元素标志和静态元素标志的位置标志信息,
根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件,包括:
根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到初始目标HTML文件;
确定静态数据和静态元素标志的第二对应关系;
根据静态元素标志的位置标志信息,确定各个静态元素标志的样式布局和点位信息;
根据第二对应关系、以及各个静态元素标志的样式布局和点位信息,确定静态数据在HTML模板中的位置;
根据静态数据在HTML模板中的位置,将静态数据对应添加至初始目标HTML文件,得到目标HTML文件。
其中,第二对应关系可以指静态数据所包括的固定不变的文本、图片以及表格等类型数据,与静态元素标志中的文本内容元素标志、图片和多媒体元素标志、表格内容元素标志的对应关系,包括静态文本数据与文本内容元素标志对应,静态表格数据与表格内容元素标志对应,静态图片数据与图片和多媒体元素标志对应,以确定第二对应关系为前提,保证能够将静态数据全部嵌入HTML模板中。
静态元素标志的位置标志信息可以指HTML模板中已存在的静态元素的样式布局和点位信息,在生成PDF文件时静态元素的位置和布局固定不动,则在进行动态数据的嵌入时不需要对静态元素的位置进行调整。
初始目标HTML文件可以指根据动态数据和动态元素标志的第一对应关系和根据动态元素标志的位置标志信息确定动态元素的样式布局和点位信息,将动态数据嵌入HTML模板中所得到的HTML文件。
目标HTML文件可以指根据静态数据和静态元素标志的第二对应关系和根据静态元素的位置标志信息确定静态元素的样式布局和点位信息,将静态数据嵌入初始目标HTML文件中所得到的HTML文件,即HTML完整文件。
根据第二对应关系、以及各个静态元素标志的样式布局和点位信息,确定静态数据在HTML模板中的位置可以指确定静态数据与静态元素标志的第二对应关系和静态元素标志的样式布局和点位信息后,即确定了静态数据在HTML模板中的样式布局和点位信息,达到了将静态数据嵌入HTML模板的前提条件。
S104、根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件。
其中,对目标HTML文件进行转换可以指针对已嵌入账单数据并完成了具体样式布局调整的完整HTML文件,利用转换插件,将HTML文件转换为PDF文件,以达到用户端的PDF账单生成请求。
PDF账单文件可以指根据用户端需求,针对相关出账信息所生成的PDF文件,包括钱款金额、消费项目、人员名称等信息。
其中,在本申请实施例中,根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件,包括:
检测PDF账单生成系统中的wkhtmltopdf插件;
若未检测到wkhtmltopdf插件,则确定目标HTML文件的文件类型;
若目标HTML文件的文件类型为表格布局类型,则根据PD4ML插件、PDF账单外观样式参数、以及目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件;
若目标HTML文件的文件类型为非表格布局类型,则根据iText插件、PDF账单外观样式参数、以及目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件。
其中,wkhtmltopdf插件可以指一种需要安装其软件的跨平台性HTML转PDF的插件,由于需要安装软件才能使用,因此时间效率不高,转换过程具有速度慢,效率低的特点,但将HTML转换成PDF后能保证失真情况较小的效果,生成PDF质量高。
PD4ML插件可以指一种不需要安装软件的跨平台性HTML转PDF的插件,具有速度快的特点,但主要针对表格布局类型的HTML文件,因此不支持部分CSS样式,无法进行转换。
iText插件可以指一种不需要安装软件的跨平台性HTML转PDF的插件,具有速度快的特点,但对HTML标签严格,若存在缺少结束标签的情况则会进行报错,无法进行转换,且存在一定的样式失真的问题,需要提前在服务器中安装字体。
其中,在本申请实施例中,在检测PDF账单生成系统中的wkhtmltopdf插件之后,方法还包括:
若检测到wkhtmltopdf插件,则根据wkhtmltopdf插件、PDF账单外观样式参数、以及目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件。
其中,在本申请实施例中,在根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件之后,方法还包括:
将PDF账单文件发送至用户端,以在用户端显示PDF账单文件。
本申请提供的PDF账单生成方法,通过先获取账单数据、HTML模板和PDF账单外观样式参数,以将账单数据中的动态数据和静态数据分别根据其与HTML模板中的动态元素标志和静态元素标志的对应关系,结合元素的位置标志信息,确定账单数据在HTML模板中的点位信息和位置布局,由此将账单数据添加至HTML模板中,省去了PDF账单生成程序中需要操作者手动填写数据的过程,实现了动态数据自动导入的效果,且该HTML模板可以在其他系统中复用,操作简单,能够根据不同系统的不同元素要求进行配置,不需要对模板进行修改,使用灵活方便,具有适用性,弥补了目前针对固定样式文件的方法不能满足可变数据PDF文件的生成要求的不足,提高了PDF账单生成的效率,达到满足用户需求的目的。
图2为本申请实施例提供的另一种PDF账单生成方法的流程示意图,如图2所示,该方法可以包括:
S201、获取HTML模板、PDF动态数据、元素样式和点位信息。
其中,在本申请实施例中,HTML模板中包含静态数据以及动态数据的位置标志信息。
其中,在本申请实施例中,还包括:将PDF账单进行静态数据和动态数据的拆分:静态数据为PDF中固定不变的文本、图片以及表格等数据;动态数据分为五种:动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据。
其中,动态文本数据分为日期、时间、查询文本等;固定行列表格数据分为表头和各个行列的信息;动态表格数据分为表头和变化数据信息;图片信息包括图片路径以及PDF文件中的点位信息;其它数据包括图形信息等进行单独存储。
S202、根据数据在HTML模板中的标志信息组装成完整的HTML文件。
其中,在本申请实施例中,方法还包括:读取存储的PDF动态数据,将动态文本以及固定表格数据根据HTML模板中的元素标志进行添加;动态表格根据标志信息动态增加行列;图片数据根据标志信息添加图片。
S203、如果安装有wkhtmltopdf软件则使用该插件,如果是表格布局则使用PD4ML插件,其它使用iText。
S204、读取PDF外观样式,使用选取的插件设置PDF样式属性。
S205、输出最终PDF账单。
本申请实施例提供的另一种PDF账单生成方法,主要针对PDF动态数据,通过获取HTML模板和PDF动态数据及其元素样式和点位信息并存储PDF外观样式,将HTML模板组装成为完整的HTML,再根据HTML的布局进行插件的选择,最后再读取PDF外观样式,利用插件对HTML进行转换,生成满足系统需求的PDF账单,结束程序,由于该方法可以适用于通信类业务的PDF账单生成,具有可变可定制的特点,完成了系统架构设计和存储层面的设计,因此解决了PDF账单生成程序在不同样式模板要求、不同动态数据类型之间的复用性问题,形成了完整的体系,可以通过代码实现账单中元素的可配置化。
图3为本申请实施例提供的PDF账单生成装置的结构示意图。如图3,该PDF账单生成装置30包括:获取模块301、确定模块302、添加模块303、转换模块304。其中:
获取模块301,用于获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,账单数据包括动态数据,动态数据包括动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据至少一种数据,HTML模板包括动态元素标志和动态元素标志的位置标志信息,动态元素标志为动态数据的元素标志;
确定模块302,用于根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置;
添加模块303,用于根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到目标HTML文件;
转换模块304,用于根据PDF账单外观样式参数,对目标HTML文件进行转换,生成PDF账单文件。
在本申请实施例中,获取模块301还可以具体用于:
确定PDF账单生成系统中预设的HTML模板;
接收用户端发送的PDF账单生成请求;
根据PDF账单生成请求,得到账单数据和PDF账单外观样式参数。
在本申请实施例中,确定模块302还可以具体用于:
确定账单数据中的数据类型;
根据数据类型,确定账单数据中的动态数据,其中,动态数据表征数据类型为动态文本数据类型、固定行列表格数据类型、动态可扩展表格数据类型、图片数据类型、以及其他特殊种类数据类型的数据;
根据动态数据、动态元素标志、以及动态元素的位置标志信息,确定动态数据在HTML模板中的位置。
在本申请实施例中,确定模块302还可以具体用于:
确定动态数据和动态元素标志的第一对应关系;
根据动态元素标志的位置标志信息,确定各个动态元素标志的样式布局和点位信息;
根据第一对应关系、以及各个动态元素标志的样式布局和点位信息,确定动态数据在HTML模板中的位置。
在本申请实施例中,添加模块303还可以具体用于:
根据动态数据在HTML模板中的位置,将动态数据对应添加至HTML模板中,得到初始目标HTML文件;
确定静态数据和静态元素标志的第二对应关系;
根据静态元素标志的位置标志信息,确定各个静态元素标志的样式布局和点位信息;
根据第二对应关系、以及各个静态元素标志的样式布局和点位信息,确定静态数据在HTML模板中的位置;
根据静态数据在HTML模板中的位置,将静态数据对应添加至初始目标HTML文件,得到目标HTML文件。
在本申请实施例中,转换模块304还可以具体用于:
检测PDF账单生成系统中的wkhtmltopdf插件;
若未检测到wkhtmltopdf插件,则确定目标HTML文件的文件类型;
若目标HTML文件的文件类型为表格布局类型,则根据PD4ML插件、PDF账单外观样式参数、以及目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件;
若目标HTML文件的文件类型为非表格布局类型,则根据iText插件、PDF账单外观样式参数、以及目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件。
在本申请实施例中,转换模块304还可以具体用于:
将PDF账单文件发送至用户端,以在用户端显示PDF账单文件。
图4为本申请实施例提供的电子设备的结构示意图。如图4所示,该电子设备40包括:
该电子设备40可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、通信部件403等部件。其中,处理器401、存储器402以及通信部件403通过总线404连接。
在具体实现过程中,至少一个处理器401执行存储器402存储的计算机执行指令,使得至少一个处理器401执行如上的PDF账单生成方法。
处理器401的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图4所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
在一些实施例中,还提出一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述任一种PDF账单生成方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种PDF账单生成方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种PDF账单生成方法中的步骤,因此,可以实现本申请实施例所提供的任一种PDF账单生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种PDF账单生成方法,其特征在于,应用于PDF账单生成系统,所述方法包括:
获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,所述账单数据包括动态数据,所述动态数据包括动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据至少一种数据,所述HTML模板包括动态元素标志和所述动态元素标志的位置标志信息,所述动态元素标志为所述动态数据的元素标志;
根据所述动态数据、所述动态元素标志、以及所述动态元素的位置标志信息,确定所述动态数据在所述HTML模板中的位置;
根据所述动态数据在所述HTML模板中的位置,将所述动态数据对应添加至所述HTML模板中,得到目标HTML文件;
根据所述PDF账单外观样式参数,对所述目标HTML文件进行转换,生成PDF账单文件。
2.根据权利要求1所述的方法,其特征在于,所述获取账单数据、HTML模板、以及PDF账单外观样式参数,包括:
确定所述PDF账单生成系统中预设的HTML模板;
接收用户端发送的PDF账单生成请求;
根据所述PDF账单生成请求,得到所述账单数据和所述PDF账单外观样式参数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述动态数据、所述动态元素标志、以及所述动态元素的位置标志信息,确定所述动态数据标志在所述HTML模板中的位置,包括:
确定所述账单数据中的数据类型;
根据所述数据类型,确定所述账单数据中的动态数据,其中,所述动态数据表征数据类型为动态文本数据类型、固定行列表格数据类型、动态可扩展表格数据类型、图片数据类型、以及其他特殊种类数据类型的数据;
根据所述动态数据、所述动态元素标志、以及所述动态元素的位置标志信息,确定所述动态数据在所述HTML模板中的位置。
4.根据权利要求1所述的方法,其特征在于,所述根据所述动态数据、所述动态元素标志、以及所述动态元素标志的位置标志信息,确定所述动态数据在所述HTML模板中的位置,包括:
确定所述动态数据和所述动态元素标志的第一对应关系;
根据所述动态元素标志的位置标志信息,确定各个所述动态元素标志的样式布局和点位信息;
根据所述第一对应关系、以及各个所述动态元素标志的样式布局和点位信息,确定所述动态数据在所述HTML模板中的位置。
5.根据权利要求1所述的方法,其特征在于,所述账单数据还包括静态数据,所述HTML模板还包括静态元素标志和所述静态元素标志的位置标志信息,
所述根据所述动态数据在所述HTML模板中的位置,将所述动态数据对应添加至所述HTML模板中,得到目标HTML文件,包括:
根据所述动态数据在所述HTML模板中的位置,将所述动态数据对应添加至所述HTML模板中,得到初始目标HTML文件;
确定所述静态数据和所述静态元素标志的第二对应关系;
根据所述静态元素标志的位置标志信息,确定各个所述静态元素标志的样式布局和点位信息;
根据所述第二对应关系、以及各个所述静态元素标志的样式布局和点位信息,确定所述静态数据在所述HTML模板中的位置;
根据所述静态数据在所述HTML模板中的位置,将所述静态数据对应添加至所述初始目标HTML文件,得到目标HTML文件。
6.根据权利要求1所述的方法,其特征在于,所述根据所述PDF账单外观样式参数,对所述目标HTML文件进行转换,生成PDF账单文件,包括:
检测所述PDF账单生成系统中的wkhtmltopdf插件;
若未检测到所述wkhtmltopdf插件,则确定所述目标HTML文件的文件类型;
若所述目标HTML文件的文件类型为表格布局类型,则根据PD4ML插件、所述PDF账单外观样式参数、以及所述目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件;
若所述目标HTML文件的文件类型为非表格布局类型,则根据iText插件、所述PDF账单外观样式参数、以及所述目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件。
7.根据权利要求6所述的方法,其特征在于,在所述检测所述PDF账单生成系统中的wkhtmltopdf插件之后,所述方法还包括:
若检测到所述wkhtmltopdf插件,则根据所述wkhtmltopdf插件、所述PDF账单外观样式参数、以及所述目标HTML文件,对待生成的PDF文件的PDF样式属性进行设置,得到PDF账单文件。
8.根据权利要求1所述的方法,其特征在于,在所述根据所述PDF账单外观样式参数,对所述目标HTML文件进行转换,生成PDF账单文件之后,所述方法还包括:
将所述PDF账单文件发送至用户端,以在所述用户端显示所述PDF账单文件。
9.一种PDF账单生成装置,其特征在于,包括:
获取模块,用于获取账单数据、HTML模板、以及PDF账单外观样式参数,其中,所述账单数据包括动态数据,所述动态数据包括动态文本数据、固定行列表格数据、动态可扩展表格数据、图片数据、其他特殊种类数据至少一种数据,所述HTML模板包括动态元素标志和所述动态元素标志的位置标志信息,所述动态元素标志为所述动态数据的元素标志;
确定模块,用于根据所述动态数据、所述动态元素标志、以及所述动态元素的位置标志信息,确定所述动态数据在所述HTML模板中的位置;
添加模块,用于根据所述动态数据在所述HTML模板中的位置,将所述动态数据对应添加至所述HTML模板中,得到目标HTML文件;
转换模块,用于根据所述PDF账单外观样式参数,对所述目标HTML文件进行转换,生成PDF账单文件。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的PDF账单生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311189002.5A CN117236288A (zh) | 2023-09-14 | 2023-09-14 | Pdf账单生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311189002.5A CN117236288A (zh) | 2023-09-14 | 2023-09-14 | Pdf账单生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117236288A true CN117236288A (zh) | 2023-12-15 |
Family
ID=89097871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311189002.5A Pending CN117236288A (zh) | 2023-09-14 | 2023-09-14 | Pdf账单生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117236288A (zh) |
-
2023
- 2023-09-14 CN CN202311189002.5A patent/CN117236288A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101122899B (zh) | 报表的生成方法和设备 | |
CN101706821B (zh) | 基于标签的移动互联网页面设计系统及方法 | |
CN104239284A (zh) | 一种图文自动排版的方法和装置 | |
CN109857670B (zh) | 一种基于通用模板的测试报告自动生成方法 | |
CN101980183B (zh) | 一种解析Word文件信息的方法及其系统 | |
CN109815451B (zh) | 一种pdf生成方法、装置及设备 | |
CN107301046B (zh) | 图标的处理方法和装置、计算机设备和存储介质 | |
CN106886551A (zh) | 一种利用标记语言显示图像的方法及装置 | |
KR20090037264A (ko) | 인터넷을 이용한 로고제작방법 | |
CN114791988A (zh) | 一种基于浏览器的pdf文件解析方法、系统、存储介质 | |
CN111078630A (zh) | 一种签章系统及方法 | |
CN110674437A (zh) | 网页页面数据转换成pdf附件的方法与装置 | |
US20100269036A1 (en) | System and method for designing and generating online stationery | |
CN102841890B (zh) | 一种用于文档构建的数据加工方法和装置 | |
CN117236288A (zh) | Pdf账单生成方法、装置、电子设备及存储介质 | |
CN111143749A (zh) | 一种网页展示方法、装置、设备及存储介质 | |
Kyrnin | Sams Teach Yourself HTML5 Mobile Application Development in 24 Hours | |
CN113268209A (zh) | 一种创建自定义单据打印模板的方法、装置和计算机设备 | |
US20100017708A1 (en) | Information output apparatus, information output method, and recording medium | |
Dengler et al. | Scalable vector graphics (SVG) 1.1 | |
CN113703699B (zh) | 电子文件的实时输出方法和装置 | |
CN102104742B (zh) | 多语种字幕的混合编排方法及装置 | |
CN104572606A (zh) | 电子书处理方法和装置 | |
CN115935938B (zh) | 一种结案报告自动生成方法和装置 | |
CN117056539B (zh) | 实时生成pptx格式文件的方法、装置及电子设备 |
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 |