一种大数据pdf参数化配置导出方法技术

技术编号:35215555 阅读:16 留言:0更新日期:2022-10-15 10:30
本发明专利技术涉及数据处理技术领域,提供了一种大数据pdf参数化配置导出方法,目的在于解决大数据情况下pdf生成的时间过长,文件过大,卡顿的问题。主要方案包括将要生成的pdf模板样式,转换成xml配置文件,读取xml配置文件,获取pdf配置信息,得到pdf文件属性、page基础属性、fonts属性,page

【技术实现步骤摘要】
一种大数据pdf参数化配置导出方法


[0001]本专利技术涉及数据处理
,提供了一种大数据pdf参数化配置导出方法。

技术介绍

[0002]本技术应用于大量数据导出生成pdf场景。该技术支持参数化配置pdf导出属性、大数据分批处理记录数、大数据PDF压缩属性等,极大的便携了开发系统大数据pdf导出开发工作,降低了大数据导出PDF的开发周期。通过API的封装,降低了开发难度、维护成本、报表的生成时间,提升了数据处理速度、填充的效率,系统CPU的运行效率,不会因为数据量过大导致报表生成时间超长、CPU过载、内存占用率过高等从而影响系统正常的业务处理。
[0003]技术背景
[0004]目前银行系统的数据量都比较大,在生成大数据pdf报表的时候,都是采用硬编码或者限制记录数生成pdf文件的机制,对开发人员的工作量比较繁琐,使用者也不方便查看,影响系统的运行和用户体验。当有新的大数据pdf导出功能需要开发时,又需要重新编码、测试,编码后上生产的时候,还需要根据业务场景考虑大量数据导出是否占用大量CPU、内存数据处理慢等对系统性能的影响,从而增加了时间成本。由于大数据的传统编码导致系统性能降低,会影响正常业务的办理。
[0005]业务背景
[0006]对账系统支持用户查看交易流水,并且导出pdf报表。由于需求不限制查询时间,部分商户的交易流水比较大,有导出大数据pdf的到本地的需求。常用的pdf导出支持模板式数据填充或使用iText自己开发组装pdf,结果就是填充的时候pdf生成的时间过长,需要异步的形式生成或者一瞬间大量占用系统资源,当多个用户同时导出大数据PDF时会导致系统CPU过载,内存占用率过高,导致大数据PDF导出时间过长,也会使其他业务操作卡顿,亦或是未考虑数据量情况,导出pdf的时候,生成了一个巨大的pdf文件,打开困难,系统体验,用户体验都不好;
[0007]因此,针对大数据pdf报表导出,在不影响系统性能,又能及时响应到前端,同时降低开发人员的人力成本、维护难易度等封装了本技术。只需要在开发同类功能的时候,增加对应的配置,初步封装后台查询数据,调用API,就能及时批量生成指定Size大小的pdf文件,呈压缩包的方式提供给业务人员。

技术实现思路

[0008]本专利技术的目的在于解决大数据pdf导出支持模板式数据填充或使用iText自己开发组装pdf,结果就是填充的时候pdf生成的时间过长,文件过大,需要异步的形式生成,或者大量占用系统资源,导致系统其他业务操作卡顿的问题。
[0009]为了解决上述技术问题本专利技术采用以下技术方案:
[0010]本专利技术提供了一种大数据pdf参数化配置导出方法,包括以下步骤:
[0011]步骤1:将要生成的pdf模板样式,转换成xml配置文件;
[0012]步骤2:通过Digester方法读取步骤1定义的xml配置文件,获取pdf配置信息,得到pdf文件属性、page基础属性、fonts属性,page

all属性,page

data属性;
[0013]步骤3:根据步骤2获取的page

all属性、page

data属性、pdf文件属性,根据pdf文件属性中的size参数,获取的数据结果的记录总数,计算PDF文件个数N,For循环N,创建单个PDF填充对象,从数据库数据查询到的指定记录条数待填充的业务数据,组装pdf文件中的每页属性;
[0014]步骤4:根据步骤2获取的pdf配置信息及步骤3获取的业务数据,一一生成pdf文件,并压缩。
[0015]上述技术方案中,步骤1包括如下步骤:
[0016]步骤1.1:将pdf模板样式中的文件属性,转换为pdf文件标签属性,文件属性包括文件名称、路径、每个文件大小size;
[0017]步骤1.2:将pdf模板样式中的page基础属性,转换为page标签属性;
[0018]步骤1.3:将pdf模板样式中的fonts属性,转换为fonts标签属性;
[0019]步骤1.4:将pdf模板样式中的page

all属性,转换为page

all标签属性;
[0020]步骤1.5:将pdf模板样式中的page

data属性,转换为page

data标签属性,得到最终的xml配置文件。
[0021]上述技术方案中,步骤2包括如下步骤:
[0022]2.1:根据定义唯一pdf文件配置的标识ID从xml配置文件获取pdf配置信息,pdf配置信息包括pdf文件属性、fonts属性、page

all属性、page

data属性、page基础属性;
[0023]Pdf文件属性:包括导出文件名称、文件路径、每个文件大小size、是否压缩;
[0024]page基础属性:包括pdf布局方向layout、页眉header、页脚footer;
[0025]fonts属性包括:包括字体类型集font

types,字体类型包括:宋体、黑体、微软雅黑,字体样式集font

styles,字体样式包括:字体大小、加粗标志、颜色;
[0026]page

all属性,即pdf文件每页均填充的固定区域,为重复展示数据,包括:
[0027]文本域text

areas:文本字体font

type、字体样式font

style、文本悬浮位置text

align、文本行间距border、文本宽度width、填充值key

value、文本值;
[0028]表格域table

areas:文本字体类型font

type、字体样式font

style、文本块水平xAlignment、垂直位置yAlignment、单元格宽度width、单元格填充属性key

value、文本值;
[0029]page

data属性,即pdf文件数据区域,包括:
[0030]表格域table

areas:文本字体类型font

type、字体样式font

style、文本块水平xAlignment、垂直位置yAlignment、单元格宽度width、单元格填充属性key

value、文本值;
[0031]上述技术方案中,步骤3包括:
[0032]步骤3.1:获取步骤2.1中得到的fonts属性中的字体类型集font

types属性,获取字体类型集属性下对应字体样式的字体本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种大数据pdf参数化配置导出方法,其特征在于,包括以下步骤:步骤1:将要生成的pdf模板样式,转换成xml配置文件;步骤2:通过Digester方法读取步骤1定义的xml配置文件,获取pdf配置信息,得到pdf文件属性、page基础属性、fonts属性,page

all属性,page

data属性;步骤3:根据步骤2获取的page

all属性、page

data属性、pdf文件属性,根据pdf文件属性中的size参数,获取的数据结果的记录总数,计算PDF文件个数N,For循环N,创建单个PDF填充对象,从数据库数据查询到的指定记录条数待填充的业务数据,组装pdf文件中的每页属性;步骤4:根据步骤2获取的pdf配置信息及步骤3获取的业务数据,一一生成pdf文件,并压缩。2.根据权利要求1所述的一种大数据pdf参数化配置导出方法,其特征在于,步骤1包括如下步骤:步骤1.1:将pdf模板样式中的文件属性,转换为pdf文件标签属性,文件属性包括文件名称、路径、每个文件大小size;步骤1.2:将pdf模板样式中的page基础属性,转换为page标签属性;步骤1.3:将pdf模板样式中的fonts属性,转换为fonts标签属性;步骤1.4:将pdf模板样式中的page

all属性,转换为page

all标签属性;步骤1.5:将pdf模板样式中的page

data属性,转换为page

data标签属性,得到最终的xml配置文件。3.根据权利要求1所述的一种大数据pdf参数化配置导出方法,其特征在于,步骤2包括如下步骤:2.1:根据定义唯一pdf文件配置的标识ID从xml配置文件获取pdf配置信息,pdf配置信息包括pdf文件属性、fonts属性、page

all属性、page

data属性、page基础属性;Pdf文件属性:包括导出文件名称、文件路径、每个文件大小size、是否压缩;page基础属性:包括pdf布局方向layout、页眉header、页脚footer;fonts属性包括:包括字体类型集font

types,字体类型包括:宋体、黑体、微软雅黑,字体样式集font

styles,字体样式包括:字体大小、加粗标志、颜色;page

all属性,即pdf文件每页均填充的固定区域,为重复展示数据,包括:文本域text

areas:文本字体font

type、字体样式font

style、文本悬浮位置text

align、文本行间距border、文本宽度width、填充值key

value、文本值;表格域table

areas:字体类型font

type、字体样式font

style、文本块水平xAlignment、垂直位置yAlignment、单元格宽度width、单元格填充属性key

value、文本值;page

data属性,即pdf文件数据区域,包括:表格域table

areas:文本字体类型font

type、字体样式font

style、文本块水平xAlignment、垂直位置yAlignment、单元格宽度width、单元格填充属性key

value、文本值。4.根据权利要求1所述的一种大数据pdf参数化配置导出方法,其特征在于,步骤3包括:步骤3.1:获取步骤2.1中得到的fonts属性中的字体类型集font

types属性,获取字体类型集属性下对应字体样式的字体路径,得到字体路径属性集合ListA;
步骤3.2:获取步骤2.1中得到的fonts配置属性中的字体样式集font

styles属性,获取字体样式集下对应字体样式的字体大小、加粗标志、颜色,得到字体样式集合ListB,遍历ListB;步骤3.3:获取步骤2.1中得到的page基础属性中的布局方向layout、页眉header、页脚footer;步骤3.4:获取步骤2.1中得到的page

all下级属性文本域text

areas、表格域table

areas,得到集合ListC;步骤3.5:获取步骤2.1中得到的page

data属性表格域table

areas,得到集合ListD;步骤3.6:根据步骤3.1获取的fonts配置中的字体路径属性集合ListA,遍历ListA,初始化字体;步骤3.7:根据步骤3.2获取的fonts配置中的字体样式集合ListB,遍历ListB,初始化字体样式;步骤3.8:根据步骤3.3获取的page基础配置属性中的布局方向、页眉、页脚,创建pdf,设置页眉、页脚,判断布局方向layout值,如果定义的值是X,设置pdf布局为横向,如果定义的值是Y,设置pdf布局方向为竖向;步骤3.9:根据步骤2.1获取每个文件大小size值,需要生成的文件个数N,for循环N,创建PDF对象,遍历步骤3.4获取的文本域text

areas、表格域table

areas的集合ListC,遍历ListC,获取文本域、表格域配置,填充当前PDF数据,并设置文本格式,添加到pdf文档每页显示中;步骤3...

【专利技术属性】
技术研发人员:李奔程峰李耀彭磊杨志文
申请(专利权)人:武汉众邦银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1