[发明专利]报表打印方法有效
申请号: | 201310654767.1 | 申请日: | 2013-12-05 |
公开(公告)号: | CN103617012A | 公开(公告)日: | 2014-03-05 |
发明(设计)人: | 马文华 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | G06F3/12 | 分类号: | G06F3/12 |
代理公司: | 北京中恒高博知识产权代理有限公司 11249 | 代理人: | 刘洪京 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报表 打印 方法 | ||
技术领域
本发明涉及打印技术领域,尤其涉及一种报表打印方法。
背景技术
在现有的ERP中,报表上展示的数据内容越来越多,数据展示的行和列是无限扩展的,用户在一张报表上可展示多个查询的内容,包括明细查询,交叉统计及图表等。
在打印上述报表时,多采用模板打印方式,模板打印方式最初是针对固定的纸张类型设计的,按给定的纸张类型打印时,没有任何问题,如果更改了纸张类型或打印方向,打印可能就会出现问题,如出现打印内容不全等问题。比如一般只考虑纸张高度方向的拆页,不考虑纸张的横向宽度,如果纸张小于模板的宽度,就抛弃超出纸张宽度的部分,这样会造成报表打印数据丢失。
解决此问题通常使用两种方式,即提供在线修改打印模板或提供多模板方式供选择。但调整和设计打印模板是很烦人的一种事情,实际用户操作起来会很麻烦,面对开发人员/实施人员不是一下能解决的事情,对于最终用户更是如此。
鉴于以上客观技术原因,非常有必要提出一种新的报表打印方法,以方便用户打印ERP系统中的报表。
发明内容
本发明需要解决的问题就在于克服现有技术的缺陷,提供一种报表打印方法,对ERP系统中的报表实现所见即所得的打印,不因报表的内容及格式调整而调整打印模板。
为解决上述问题,本发明的报表打印方法包括:
步骤100,准备需要打印的数据表格,即报表,该报表包含数据、样式等内容;
步骤110,获取打印设置信息,包括用户预先设定好的打印区域设置信息、打印纸张设置信息、打印顺序信息、打印标题区设置信息;
步骤120,获取报表的有效打印区域范围,即计算需要打印的最大行与列,优先选择用户在打印设置信息里定义的打印区域范围,若打印设置信息里没有指定打印范围,则需要确定有效的打印区域范围;
步骤130,计算行拆页位置表,即通过计算纸张高度方向的拆页点,进而计算出拆页对应的行位置;
步骤140,计算列拆页位置表,即通过计算纸张宽度方向的拆页点,进而计算出拆页对应的列位置;
步骤150,根据行、列拆页位置表计算出打印所对应的打印区域范围及位置,从而生成打印数据页;
步骤160,排除空白页;
步骤170,打印结束。
优选地,上述技术方案进一步包括:
(1)获取有效的打印列数:首先计算当前报表的列数,之后从最大列数开始,以递减1的方式判断有效打印列数;先判断该列是否隐藏,如果该列隐藏,则列数减1,继续循环,直至排除最后的隐藏列;对于非隐藏列,从首行开始,判断单元格是否需要打印,如果在首行和最大行之间存在需要打印的单元,则当前列数即为有效打印列数,否则列数减1,继续循环,直至找到有效的打印列数;
(2)获取有效的打印行数:首先计算当前报表的行数,之后从最大行数开始,以递减1的方式判断有效打印行数;先判断该行是否隐藏,如果该行隐藏,则行数减1,继续循环,直至排除最后的隐藏行;对于非隐藏行,从首列开始,判断单元格是否需要打印,如果在首列和最大列之间存在需要打印的单元,则当前行数即为有效打印行数,否则行数减1,继续循环,直至找到有效的打印行数。
优选地,上述技术方案进一步包括:
(1)计算续页打印高度,判断是否存在固定行定义,若存在,则第一页打印的高度即当前纸张的可打印高度,其他页的打印高度为纸张的可打印高度减去固定行的高度;若不存在,则设定续页打印的高度为纸张打印区域的高度;
(2)计算当前页可打印的最大行,设定第一页的起始行为0,并记录到行拆页位置表中,根据当前页的打印高度及起始行,计算当前页可打印的最大行;
判断当前页的起始行及最大行之间是否存在用户拆页点,若存在,则将用户拆页点信息替代计算出的最大行;
判断当前页最大行是否小于最大有效打印行数,若小于最大有效打印行,则将此数据记录在行拆页位置表中,同时设定下页的起始行为当前页最大行,进入下一次循环;若大于最大有效打印行,则将最大打印有效行记录在行拆页位置表中,结束循环。
优选地,上述技术方案进一步包括:
(1)计算续页打印宽度,判断是否存在固定列定义,若存在,则第一页打印的宽度即当前纸张的可打印宽度,其他页的打印宽度为纸张的可打印宽度减去固定列的宽度;若不存在,则设定续页打印的宽度为纸张打印区域的宽度;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310654767.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于糖尿病的中药组合物
- 下一篇:防治伤口感染的中药药液及其制备方法