zoukankan      html  css  js  c++  java
  • 基于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

  • 相关阅读:
    springboot项目在IDEA根据不同的开发人员读取不同的配置文件
    Idea中一个服务按多个端口同时启动
    修改feign解析器替换json
    Intellij IDEA中启动多个微服务--开启Run Dashboard管理
    解决springboot乱码和window cmd乱码
    调用远程linux服务器shell脚本
    cp复制命令详解
    ftp列出具体目录的所有目录,和目录按照文件类型列出
    Linux下Redis开机自启(Centos)
    vsftpd 配置上传失败553
  • 原文地址:https://www.cnblogs.com/xiyang1011/p/2033268.html
Copyright © 2011-2022 走看看