[发明专利]一种基于word快速生成Fastreport模板的方法有效
申请号: | 201710645104.1 | 申请日: | 2017-08-01 |
公开(公告)号: | CN107562704B | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 柳果;陈益;陈妍芬;伍廷华 | 申请(专利权)人: | 浙江鸿程计算机系统有限公司 |
主分类号: | G06F40/151 | 分类号: | G06F40/151;G06F40/186 |
代理公司: | 杭州之江专利事务所(普通合伙) 33216 | 代理人: | 张慧英 |
地址: | 310053 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 word 快速 生成 fastreport 模板 方法 | ||
1.一种基于word快速生成Fastreport模板的方法,其特征在于,包括如下步骤:
(1)将已画好模板的word转换成XML文件,转换后可直接获取每一行对应的行宽,此行宽为word的真实行宽;word的真实列高未知;
(2)读取word的相关样式及主题定义;
(3)逐行读取word内容,判断内容格式为段落P或为表格F,若是段落P,则执行步骤(4);若是表格F,则执行步骤(5);
(4)采用段落处理方法对段落P进行处理,具体如下:
(4.1)读取段落格式,包括段间距、段前、段后参数,用于计算段落高度;读取字体属性,包括字体、字号,用于计算文字高度;
(4.2)若文字高度大于段落高度,则段落每一列列高度h0取值为文字高度,否则取值为段落高度;
(4.3)逐字分析word相关内容,直至读取到回车符,表示段落结束;若读取的是表格里的段落,则将字符串长度除以表格行宽度,否则将字符串长度除以纸张宽度,除数用n表示:若n大于1,将n向上取整「n,否则,「n取值为1;段落的总高度为h1=h0*「n;
(5)采用表格处理方法对表格F进行处理,具体如下:
(5.1)按行依次读取各个单元格,i(1,1),i(1,2),…i(1,b),i(2,1),i(2,2)…i(2,b)…i(a,1),i(a,2)…i(a,b),a表示该表格有a行,b表示该表格具有b列;
(5.2)对于多个单元格合并的合并项,合并项中所有的文字均属于该合并项中的第一个单元格;
(5.3)对于i(1,y)是表格的第一行,其中,1≦y≦b;画该行最上方的每个单元格的行实线;
(5.4)计算表格第x行的列高度时,不考虑合并项,直接执行步骤(4),获取非合并项的各个单元格的段落总高度,取最大的段落总高度为该行的列高k(x);
(5.5)若读取的xn行中的某个单元格属于合并项,且是合并项的最后一行的一个单元,则执行步骤(5.4),获取该行列高k(xn)为h2;假设合并项是从xm到xn行的一列单元格进行合并,执行步骤(5.4)后取合并项从第xm行的列高到第xn行的列高,并把总高度相加表示合并项所在列的高度为H=k(xm)+k(xm+1)+…+k(xn),执行步骤(4)获取合并项第一个单元格对应的段落高度为h3:若h3大于H,该最后一行的列高度取合并项h3-(H-h2),否则取h2;
(5.6)若都是合并项,返回x列默认的高度;否则,执行(5.4),获取列高度k(xn);
(5.7)对比k(xn)与默认列高度,若k(xn)大于默认列高度,则该行对应的高度为k(xn),否则为默认列高度;
(5.8)每次读取一行后对非合并项的单元和最后一行的合并项单元格画实线单元,非最后一行的合并项不画线;判断表格是否处理完毕,若是则结束,否则继续执行步骤(5.1);
(6)将步骤(4)与步骤(5)得到的列高度相加,得到word的真实列高;
(7)对文档根据预设比例进行整体缩放,实现word转换成Fastreport。
2.根据权利要求1所述的一种基于word快速生成Fastreport模板的方法,其特征在于:所述(4.3)中的word相关内容包括文字、空格、符号。
3.根据权利要求1所述的一种基于word快速生成Fastreport模板的方法,其特征在于:所述的字符串长度通过字号*字符个数计算得到。
4.根据权利要求1所述的一种基于word快速生成Fastreport模板的方法,其特征在于:所述在读取表格单元格内容的时需判断是否换行。
5.根据权利要求1所述的一种基于word快速生成Fastreport模板的方法,其特征在于:所述的预设比例为12:1,比例得到方法为:
(I)分别用工具测量A4纸张上word一页的长度和宽度、Fastreport一页纸张的长度和宽度;
(II)将两者进行相除,相除后word的长和宽为Fastreport长和宽的12倍,即文档从word转换成Fastreport时需要将高度与宽度缩小12倍。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江鸿程计算机系统有限公司,未经浙江鸿程计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710645104.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:字典树重构方法及系统
- 下一篇:一种数据导出方法、服务端及计算机可读存储介质