【技术实现步骤摘要】
一种web报表导出PDF的方法、装置及存储介质
本专利技术涉及业务系统,尤其涉及一种web报表导出PDF的方法、装置及存储介质。
技术介绍
公司业务系统一般都具有报表的功能,用来进行数据的统计。通常情况下,报表都是在web(WorldWideWeb,网页)上显示的,在将报表导出并打印成书面的形式时,由于报表中存在的图表、表格,甚至树形机构时,在导出报表时,很容易出现错误,最终导致打印出的报表出现错误,通常需要人工进行调整或重新将图表、表格等在文件中画出来,造成报表导出效率低下,使得业务人员工作效率低下。
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一在于提供一种web报表导出PDF的方法,其能够解决现有技术中web页面中报表的导出需要人工操作进而导致导出效率低下等问题。本专利技术的目的之二在于提供一种web报表导出PDF的装置,其能够解决现有技术中web页面中报表的导出需要人工操作进而导致导出效率低下等问题。本专利技术的目的之三在于一种存储介质,其能够解决现有技术中web页面中 ...
【技术保护点】
1.一种web报表导出PDF的方法,其特征在于,所述方法包括:/n属性定义步骤:根据业务需求设定自定义属性,自定义属性如下表所示;/n
【技术特征摘要】
1.一种web报表导出PDF的方法,其特征在于,所述方法包括:
属性定义步骤:根据业务需求设定自定义属性,自定义属性如下表所示;
插入属性步骤:当接收到导出指令时,根据业务需求在报表所对应的HTML文档中的对应标签中插入自定义属性,并为每个自定义属性赋值;
克隆步骤:根据报表所对应的HTML文档中DIV标签的ID值从HTML文档中获取所述DIV标签对应的DOM节点,并根据DOM节点新建克隆Dom节点,同时将DOM节点中所有的HTML标签内容赋值给克隆Dom节点以及设置克隆Dom节点在浏览器中的位置;
第一计算步骤:根据标准A4纸张的尺寸以及克隆Dom节点在导出时所占PDF页面的宽度计算得出克隆Dom节点在导出时所占PDF页面的高度;所述PDF页面的尺寸为标准A4纸张的尺寸;克隆Dom节点在导出时所占PDF页面的宽度从克隆Dom节点所对应的DIV标签中获取;
第二计算步骤:根据克隆Dom节点获取自定义属性name=paper的所有DIV标签所对应的Dom子节点,然后根据每个Dom子节点所对应的DIV标签的自定义属性margintop、marginbottom、page以及克隆Dom节点在导出时所占pDF页面的高度分别计算出对应Dom子节点在导出时所占PDF页面的高度;
添加步骤:把克隆Dom节点添加到浏览器的HTML文档的Body标签中;
画布创建步骤:根据DOM节点的宽高以及画布缩放比例设定创建画布Dom节点,并将画布Dom节点在浏览器中的位置与克隆Dom节点在浏览器中的位置保持一致;
导出步骤:通过html2canvas函数把克隆Dom节点的所有HTML标签的内容转换为画布Dom节点中的图片数据,然后调用PDF插件将图片数据从浏览器中导出成PDF文件。
2.根据权利要求1所述一种web报表导出PDF的方法,其特征在于,所述导出步骤还包括:
当图片数据的高度小于或等于PDF页面的高度时,通过调用PDF插件将图片数据从浏览器中导出成PDF文件;
当图片数据的高度大于PDF页面的高度时,执行裁剪步骤:
首先创建与PDF页面尺寸相同的裁剪框,并将裁剪框在浏览器中的位置与与画布Dom节点在浏览器的位置保持一致;
然后将图片数据作为裁剪框的背景图片,并将裁剪框的背景图片的属性值设为norepeat;
最后依次顺序改变裁剪框的背景图片在Y轴上的值来获取裁剪框中...
【专利技术属性】
技术研发人员:温桂龙,刘玉明,韦方宇,彭玉冰,
申请(专利权)人:珠海派诺科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。