[发明专利]一种输出报表的方法及系统在审
申请号: | 201611089522.9 | 申请日: | 2016-11-30 |
公开(公告)号: | CN108132918A | 公开(公告)日: | 2018-06-08 |
发明(设计)人: | 谢乐 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 北京成创同维知识产权代理有限公司 11449 | 代理人: | 蔡纯;高青 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报表内容 文本块 输出 报表输出 编码规则 文字类型 混排 动态设定 检测结果 字符转换 字体类型 字体 分割 检测 保证 | ||
本发明实施例提供的输出报表的方法适用于多种文字类型混排的报表输出,包括:将报表内容中的字符转换为第一编码规则的字符;逐一检测所述第一编码规则的字符;根据检测结果将所述报表内容分割为多个文本块;为所述多个文本块中的每个文本块设定输出字体;以及将所述多个文本块组合成报表输出。此种输出方法能够根据报表内容动态设定字体类型,保证了多个文字类型混排的报表内容能够正确输出。本发明实施例同时提供相应的输出报表的系统。
技术领域
本发明涉及计算机领域,具体涉及输出报表的方法和系统。
背景技术
京东图书近年的销售突飞猛进,而图书离不开出版。在出版图书的企业中,尤其是一些民族出版社,涉及到出版不同民族文字的图书。在图书出版的过程中,从约稿、编务处理、三审、送审、以及印务、发行的过程中会输出各种形式的报表,其中便涉及到不同民族文字的混排的报表显示。
在中国,汉字不但是汉族的文字,也是全国各个少数民族通用的文字,是在国际活动中代表中国的法定文字。全民族都通用汉语的几个少数民族,很自然地以汉字作为自己的文字,没有与自己语言相一致的文字的少数民族,大多也选择了汉字作为自己的文字。藏文和彝文等语言大部分已经有比较规范的习惯用法,使用范围较广,影响也较大。因此本文以常见的汉文、藏文、彝文作为报表混显设定的示例,选定的字体分别为常用的宋体(simsun.ttc),Microsoft喜马拉雅字体(himalaya.ttf),Microsoft YiBati字体(msyi.ttf)。
在Java领域,通常采用两种技术方案输出报表。
第一种是基于iReport来生成。iReport报表方案是一套集合,使用时用iReportDesigner可视化工具来制作模板,定义相应的报表元素,如标题、页面头部、页面内容、页面底部等。最后该工具可生成.jrxml的模板文件或编译后的.jasper文件(模板文件),然后用JavaBean填充模板,最后输出报表。
第二种是基于微软Office word来生成。在word2007及其以上的版本中,后缀为.docx类型的文档的底层是基于XML构成的。在word中录入不同的文字后,如汉字、藏文还有彝文,word会检测文字类型然后指定一种默认的字体并予以显示。查看底层的XML文档后,发现是为每个同类型文字块都会应有到一种字体,默认情况下,如汉字为宋体,藏文为Microsoft Himalaya字体,彝文为Microsoft Yi Baiti字体等。所以在服务端可借助Freemarker或Velocity模板语言根据word的XML文档结构来制作报表模板,最后借用Jacob类库调用word应用程序把模板打开成word文档,最后另存为PDF文档。(先把数据源数据根据XML文档结构构建报表,然后将报表转换为PDF格式
但是这两种方案都有缺点。使用iReport方案的缺点是制作模板时不能动态的应用字体,不能根据不同的文字类型应用不同的字体,因为某些文字需要特定的字体才能显示,所以iReport只能用于输出预先知道内容的报表。使用word方案的缺点是很大程度依赖Office word软件,另外,word通过XML文件定义各种文字类型的输出字体,因此针对一种文字类型,只能以指定字体输出;word方案的另一个缺点是Web服务器不能并发的打开多个word进程来把文档转换成PDF报表。
发明内容
有鉴于此,本发明提供一种输出报表的方法和系统,用于根据报表内容动态指定每种文字类型的输出字体,以解决现有技术中存在的问题。
根据本发明实施例的第一方面,本发明实施例提供一种输出报表的方法,包括:将报表内容中的字符转换为第一编码规则的字符;逐一检测所述第一编码规则的字符;根据检测结果将所述报表内容分割为多个文本块;为所述多个文本块中的每个文本块设定输出字体;以及将所述多个文本块组合成报表输出。
可选地,所述根据检测结果将所述报表内容分割为多个文本块包括:将相邻的属于同一编码范围的字符归属于同一文本块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611089522.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文档纠错标记方法
- 下一篇:一种网页内容抽取的方法