注意:
康虎云报表组件的软件和相关资料请从
获取,本页不再更新!!
----------------------------------------------------------------------------------------------
十步以内完成精细web打印
现在B/S系统占据了应用系统主流,B/S系统有很多优点,比如:易部署、易升级、对客户端要求低、平台适应性好等等,现在主流的软件开发语言也都支持B/S系统的开发。但是,B/S系统有个先天的缺点一直没有很好的解决:那就是打印功能。
虽然,所有浏览器都有打印功能,但是浏览器的打印功能非常简陋,只打印页面内容,对于比较精细的打印、纸张设定、打印份数设定、是否横向打印等等都不支持或者非常不便,所以说浏览器自带打印功能仅仅是聊胜于无。
自B/S系统出现之日起,打印问题就一直是系统开发人员关注的重点之一,也出现了很多适合特定时期的web打印解决方案,例如早期的OCX方案,其典型代表是MeadCo's ScriptX,后来又有了javascript的解决方案和CSS方案,近些年又出来了PDF方案(类似的还有Word、Excel方案)。这些方案对于出现的时期是适合的,也能较好地解决web打印遇到的大部分问题,但随着技术的进步以及业界安全意识的提高,之前的比较好的OCX方案已经被浏览器厂商抛弃了,浏览器自带的打印功能以及基于该功能扩展出来的JavaScript方案和CSS方案有诸多的不足。PDF方案也有一些致命的不足,例如不能直接打印(需要用PDF阅读器打开后再打印),缺少比较好的PDF生成技术,难以精准控制打印位置等等。
最近发现了一款web打印组件,可以比较完美地解决以上遇到的问题。他本身就是一个绿色小程序,即拷即用,不需要了直接删除就可以。别看这个软件小,但功能却一点也不含糊:
1、无插件,不需要在浏览器安装任何插件,这使得该软件对浏览器非常友好,只要是版本不太低的浏览器都能很好地支持,并且没有插件带来的各种危害以及拖慢浏览器;
2、可视化设计打印模板,该软件自带可视化设计器,通过拖拽的方式就能轻松设计出非常精细的打印模板(精确到毫米),这可是其他web打印软件很少有的功能;
3、支持的报表类型丰富,该软件可以设计简单报表、主从报表(支持多级级联)、嵌套报表、交叉有报表等等,一般常见的中国式报表都能支持,更别说是外国的行列式报表了;
4、支持的打印元素非常丰富,该软件不仅支持一般的文字元素,还支持图片、一维条形码、二维条形码,最逆天的是还支持把多页PDF嵌入到报表中进行打印,比如你有个报表需要在某个位置显示一份PDF文件的内容,该报表也支持,而且会根据PDF的页数自动进行分页处理;
5、支持任何语言开发的应用系统,该软件只在操作人员的客户端运行,不需要部署在服务器上,所以,支持任何语言开发的B/S系统,这也是大部分的web打印方案所没有的。
6、使用简单,该软件唯一的要求就是在应用服务端把报表所需要的数据组装成json并设计一个打印模板,其他与打印格式相关的工作通通不需要了。
说了这么多,接下来简单介绍一下如何使用。
第一步:下载软件,该软件可以从其官网下载: http://www.cfsoft.cf/uploads/cfprint/cfprint_latest.zip,也可以在百度中搜索“康虎云报表”或“康虎云打印”;
第二步:把下载的压缩包解压到一个目录中,例如我就解压在 D:\cfprint\;
第三步:按照解压出来的“康虎云报表系统最简使用手册.txt”的说明,编写一个以json来表示要打印报表的数据结构用来设计报表,这个数据结构可以理解成关系数据库里的一个视图,该视图里的数据由服务端提供。我编写了一个简单的例子:
{
"template": "SaleOrder.fr3", /*模板名称,在设计时,如果该模板不存在,则会新建空白模板*/
"ver": 4, /*版本号,该版本号是为以后扩展用的,目前输入4即可*/
"Copies": 1, /*指定打印份数*/
"printer": "pdfFactory Pro", /*指定打印机*/
"preview": 0, /*指定是否预览,1:预览,0:直接打印*/
"Tables": [ /*要打印数据的结构,可以有多个表,实现多级主从表*/
{
"Name": "销售订单", /*数据表名称,支持中文*/
"Cols": [ /*定义表字段*/
{ "type": "str", "size": 20, "name": "订单号" },
{ "type": "str", "size": 20, "name": "收货人" },
{ "type": "str", "size": 255, "name": "收货地址" },
{ "type": "str", "size": 20, "name": "收货人电话" },
{ "type": "float", "size": 0, "name": "订单金额" },
{ "type": "Date", "size": 0, "name": "下单日期" }
],
"Data": [ /*定义数据行,这里只是为了设计时可以预览效果,真正使用是要在服务器上生成*/
{"订单号":"201706010001", "收货人": "张三", "收货地址":"上海市静安区天宫路102号", "收货人电话":"13609451241", "订单金额": 103.5, "下单日期":"20170601"},
{"订单号":"201706010002", "收货人": "李四", "收货地址":"天津市滨海区地府路42号", "收货人电话":"13609452341", "订单金额": 210.6, "下单日期":"20170601"},
{"订单号":"201706010003", "收货人": "赵五", "收货地址":"北京市东城区皇宫路194号", "收货人电话":"13609455441", "订单金额": 1103.5, "下单日期":"20170601"},
{"订单号":"201706010004", "收货人": "钱六", "收货地址":"广州市天河区滨海路132号", "收货人电话":"13609455441", "订单金额": 163.5, "下单日期":"20170601"},
{"订单号":"201706010005", "收货人": "孙八", "收货地址":"杭州市拱墅区天平路102号", "收货人电话":"13609456443", "订单金额": 103.5, "下单日期":"20170601"},
{"订单号":"201706010006", "收货人": "周九", "收货地址":"厦门市翔安区尚忠社102号", "收货人电话":"13609455426", "订单金额": 193.5, "下单日期":"20170601"},
{"订单号":"201706010007", "收货人": "吴十", "收货地址":"福州市仓山区中山路112号", "收货人电话":"13609456533", "订单金额": 23.5, "下单日期":"20170601"},
{"订单号":"201706010008", "收货人": "郑十一", "收货地址":"重庆市南岸区光复路142号", "收货人电话":"13609457775", "订单金额": 103.5, "下单日期":"20170601"}
]
}
]
}
第四步:打开解压出来的 cfprint.exe:
然后双击右下角的“设计”按钮,打开模板设计工具箱,如下:
第五步:把第三步编写的json复制粘贴到数据窗口:
然后按数据窗口上方的“设计”按钮以启动模板设计器
第六步:开始设计模板,首先在左边工具栏选择主数据栏插入到设计区,然后可以从右边数据树把字段拖到主数据栏:
我设计了一个简单模板如下:
第七步:按顶部的“预览”页标签或顶部工具条的预览按钮预览报表:
预览效果如下:
第八步:在你自己的应用系统打印页面中,引入两个javascript文件:
第九步:在应用系统打印页面中,在服务器上生成跟第三步类似的json,数据字段跟第三步的json一样,数据行的内容由应用服务器根据需要实时生成,该json内容就随着打印页面在浏览器中打开,查看页面源码可能是这样的(我在Chrome中打开):
最终的打印效果跟预览的完全一样。
经过以上九步,一个完美的报表就完成了。经过三个五个报表的练习,一般的开发人员都可以在一小时内完成一个一般复杂度的报表,而且实现的报表精美准确,为开发人员节约很多宝贵的时间。
相关推荐
### 十步解决vmware tools for linux安装 在虚拟化技术的应用中,vmware tools 的安装对于提升虚拟机性能、实现主机与虚拟机之间的交互至关重要。本文将详细介绍如何在Linux虚拟机环境中安装vmware tools,并按照...
根据多年经验所积累总结的一套针对移动互联网十步流程法,特别适应于创业的团队
【标题】:“十步学会用css+div建站”是一个旨在教授初学者如何利用CSS(层叠样式表)和div(HTML布局元素)进行网页设计的教程。通过这个教程,学习者将逐步掌握构建现代、响应式网站所需的基础技能。 【描述】:...
【压缩包子文件的文件名称】"十步学会DIV+CSS建站.ppt"很可能是一个PowerPoint演示文稿,其中详细列举了学习CSS+div的十个关键步骤,可能包括以下内容: 1. **基础认识**:介绍CSS和div的基本概念,解释它们在网页...
【用div+css布局十步入门】是一份适合初学者的CSS布局教程,旨在帮助学习者掌握使用CSS进行网页布局的基本技巧。以下是该教程详细的知识点解析: **第一步:规划网站** 在开始布局前,首先需要对网站进行规划。本...
实例十步学会用div+css建站,易学,好资源,大家下载哟。
在IT行业的战略管理中,"战略管理的十步规划法"提供了一套系统化的方法论,帮助企业明确方向,制定并实施有效的策略。以下是对这十个步骤的深入解析: ### 一、企业宗旨与价值定位 企业的存在不仅仅是为了盈利,更...
十步学会用实例div+css建站
HP企业战略规划十步法(完整版).pptx
简单易学,十步学会用div+css建站,新手易学会,包括div和css的基本知识
【惠普的战略规划十步法】是惠普公司制定长期发展策略的一种系统性方法,旨在确保公司在快速变化的IT行业中保持竞争力。这个方法强调了从多个角度对企业进行全面评估,以制定出切实可行的战略规划。以下是对这个十步...
### 十步学会用CSS建站 #### 第一步:规划网站 在开始任何网站建设项目之前,最重要的是明确网站的设计思路和整体布局。本教程通过一个具体的案例来展示如何使用CSS来构建一个美观且功能完善的网站。 **规划要点:...
实例十步学会用div+css建站.ppt 文档还不错,学习CSS很好
《javaWeb 十步开发法》
以下是文章中提出的十步优化策略的详细解释: 1. **应用正确的索引**: - 索引是提升查询效率的关键,特别是聚集索引,它基于主键对表进行物理排序,允许快速定位数据。 - 对于非主键列,可以创建非聚集索引来...
新一代软件需求工程的表现为工作阶段划分、需求获取方式、关系定位和指导思想不同。需求规划是新一代需求工程中的...《软件需求十步走:新一代软件需求工程实践指南》由原理篇、知识篇、方法篇、应用篇、组织篇等构成。
商业计划十步法.pptx