开发者社区> 小特工作室> 正文

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

简介: 最近项目组的打印控件有所改变,已经换成Lodop控件,使用以后发现,功能确实非常强大.可以打印Web页面内某个控件的内容.下面,还是通过一个实例来说明下吧,医院系统有个模块,是院内感染模块,它需要填写各种报卡,并且填写完以后,要将它打印出来,而且打印出来的效果要和纸制的报卡近乎一致.
+关注继续查看

      最近项目组的打印控件有所改变,已经换成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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
.net core 源码解析-web app是如何启动并接收处理请求(二) kestrel的启动
上篇讲到.net core web app是如何启动并接受请求的,下面接着探索kestrel server是如何完成此任务的。 1.kestrel server的入口KestrelServer.Start(Microsoft.AspNetCore.Hosting.Server.IHttpApplication) FrameFactory创建的frame实例最终会交给libuv的loop回调接收请求。
833 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23572 0
.net core 源码解析-web app是如何启动并接收处理请求
最近.net core 1.1也发布了,蹒跚学步的小孩又长高了一些,园子里大家也都非常积极的在学习,闲来无事,扒拔源码,涨涨见识。 先来见识一下web站点是如何启动的,如何接受请求,.net core web app最简单的例子,大约长这样 public static void M...
738 0
Razor 视图引擎的核心库 System.Web.Razor 微软官方源码 (非反编译版本)
这可不是反编译版本哦,可编译通过,有注释的,来个切图:   注:http://razorengine.codeplex.com/ 上只提供了RazorEngine.dll 和 RazorEngine.Web.dll 的源码,我这里提供 System.Web.Razor.dll 的源码。
721 0
编译最新版webrtc源码和编译好的整个项目10多个G【分享】
编译最新版webrtc源码和编译好的整个项目10多个G【分享】   参考https://webrtc.org/native-code/development/编译最新版webrtc源码: Git clone https://chromium.
3306 0
Python Web Flask源码解读(一)——启动流程
Python Web Flask源码解读(一)——启动流程0x00 什么是WSGIWeb Server Gateway Interface它由Python标准定义的一套Web Server与Web Application的接口交互规范。
1153 0
+关注
小特工作室
自主研发NaviSoft框架,内置WinForm、WebMVC、Mobile(包括安卓和IOS)、WinCE等框架,同时还有代码生成器、开发工具等辅助开发的各类软件和工具
30
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载