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

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

图-1

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

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

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

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

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

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

图-2

字段说明:

字段描述

描述

itemname

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

itemparename

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

printstyle

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

printformat

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

bottomline

是否对文字增加下划线

datasource

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

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

图-3

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

图-4

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

图-5

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

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

示例代码

基于Lodop控件的Web打印.Files

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开源优测

21条自动化测试过程中遭遇的问题及解决思路

1、找不到元素,脚本报“NoSuchElementException:Unable to find element”,或者"定位到了,不能操作,点击无效"

1051
来自专栏一个爱吃西瓜的程序员

Python爬虫实战-抓取《盗墓笔记》所有章节及链接

本次以一个盗墓笔记的小说阅读网(http://seputu.com)为例,抓取盗墓笔记的标题、章节名和链接,如下图 ? 前提: 这是一个静态网站,标题、章节都不...

2939
来自专栏python全栈布道师

使用python读取和写入Excel

4266
来自专栏葡萄城控件技术团队

1000多个项目中的十大JavaScript错误以及如何避免

通过统计数据库中的1000多个项目,我们发现在 JavaScript 中最常出现的错误有10个。下面会向大家介绍这些错误发生的原因以及如何防止。 对于这些错误发...

3644
来自专栏木子墨的前端日常

Vue-Router模式、钩子

上一篇主要写了一下vuer-router的基本使用,可以说解决温饱了,下面就再来点下午茶吧

1222
来自专栏全沾开发(huā)

EJS[0]-如何使用EJS

EJS[0]-如何使用EJS 最近做的一个新项目,所以想着换一个新的模版引擎尝试一下。(之前我们一直在使用handlebars) ...

3798
来自专栏九彩拼盘的叨叨叨

写出好的前端代码不是件容易事

什么样的代码算是好代码? 在我看来,易于维护的代码就是好代码。当然代码还可以从性能,安全等方面来考量。这些不在本文的讨论范围之内。

823
来自专栏与神兽党一起成长

将JSON对象格式化输出(上篇)

(这后面的内容不用看了) 最近在使用Node.js开发项目,由于JavaScript内置了对JSON的支持,自然而然想到了使用JSON编写配置文件。

3663
来自专栏快乐八哥

jQuery.unique引发一个血案

项目开发过程中,PM说系统只要在一个特定的浏览器中运行就好,但是在其他的浏览器中不能出现逻辑的错误,所以在开发过程中,前端和后台选择是Chrome浏览器,没有仔...

2148
来自专栏猛牛哥的博客

aardio v13.7 更新内容

1573

扫码关注云+社区

领取腾讯云代金券