[转载]基于Lodop控件的Web打印

[转载]基于Lodop控件的Web打印 – Vincent.Q – 博客园.

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

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

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏