基于Lodop控件的Web打印示例(含源码)

      最近项目组的打印控件有所改变,已经换成Lodop控件,使用以后发现,功能确实非常强大.可以打印Web页面内某个控件的内容.下面,还是通过一个实例来说明下吧,医院系统有个模块,是院内感染模块,它需要填写各种报卡,并且填写完以后,要将它打印出来,而且打印出来的效果要和纸制的报卡近乎一致.额,这个要求就比较高喽,如图-1所示,这是其中一张报卡的纸制扫描效果图,我们打印出来的效果要和这个几乎一样.

 

---------------------------------------------------------------------------------

博客搬家啦,新地址:

https://www.navisoft.com.cn

---------------------------------------------------------------------------------

 

 

clip_image002

图-1

      现在我们来分析一下这里的打印展示类型.

      类型1:患者姓名,卡片编号等,直接取自Db栏目值,不需要额外加工.不过,有的需要增加下划线功能.

      类型2:出生日期,需要对日期进行拆分,增加汉字:年,月和日

      类型3:户籍属于,全部复选框,将其中某一数据选中

      类型4:户籍地址,是Db中多个栏目拼接而成.而且都是将数据值替换为显示值

      OK,经过以上的分析,上述这些打印类型是可以通过配置的方式实现.新建一XML配置文件,如图-2所示

clip_image004

图-2

字段说明:

字段描述

描述

itemname

打印模板中被替换关键字,同时也是Db表中某列名称

itemparename

若打印类型是comboitem这种组合方式,它用来定义包括哪些子itemname

printstyle

打印类型,目前包括:textbox,dropdownlist,datetime,checkboxlist和comboitem(组合方式,即由其他多个字段组合而成)

printformat

打印格式,日期型的输出格式在此处定义

bottomline

是否对文字增加下划线

datasource

下拉菜单等的数据源,专门测试使用

然后我们看看打印模板文件是如何制作的,如图-3所示

clip_image005

图-3

      现在,我们就要通过编码的方式来实现将这些关键字替换掉,简单说,是根据不同的打印格式分别处理.比较核心的代码如图-4所示

clip_image007

图-4

      经过上述代码的编写,我们看看最终的效果图,如图-5所示

clip_image009

图-5

      打印控件本身非常强大,可以连续打印.在我提供的示例文件中,已经提供代码实现方式.大家可以直接参考.

再说明一点,这个控件,是在客户端需要安装的.好了,有什么问题欢迎留言!

 

示例代码

基于Lodop控件的Web打印.Files

posted @ 2011-04-30 09:29  斜杠青年小Q  阅读(10348)  评论(19编辑  收藏  举报