LODOP打印插件


构建springBoot项目,设计html打印模板,保存在mysql数据库,实现动态打印。
源码https://github.com/liuzhiyang001/myStudy/tree/master/lodop%E6%89%93%E5%8D%B0%E6%8F%92%E4%BB%B6

1.运行环境

本文环境如下:
操作系统:win10
打印插件:lodop
数据库:mysql
浏览器:谷歌

2.插件集成

2.1安装插件

Lodop发布包内主要有如下三个安装文件:

  1. install_lodop32.exe
  2. install_lodop64.exe
  3. CLodopPrint_Setup_for_Win32NT.exe

前两个是打印控件安装文件,第三个是云打印服务安装文件。浏览器采用云打印,该选择过程由LodopFuncs.js里的needCLodop();引导实现。C-Lodop云打印32位安装文件可以适用于32位或64位操作系统,
下载地址:http://www.c-lodop.com/download.html
测试本地打印是否安装成功,访问
http://www.c-lodop.com/demolist/PrintSample1.html
如果安装成功会提示“本机已成功安装Lodop控件!版本好为XXX”,如下图所示,版本号可能有所不同。

2.2Mysql建表

数据库建表,用于保存设计模板

Sql语句如下:
DROP TABLE IF EXISTS t_print_template;
CREATE TABLE t_print_template(
t_id VARCHAR(100) NOT NULL PRIMARY KEY COMMENT ‘模板名称’,
t_print_content LONGTEXT COMMENT ‘模板内容’,
t_print_content_filed LONGTEXT COMMENT ‘模板传输所需字段’
)

2.3 java代码编写

依赖引入:
常见maven项目,为构建方便采用JDBCTemplate链接数据库,pom依赖如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--msq数据库连接依赖-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-test</artifactId>
</dependency>
<!--Thymeleaf转换引擎-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>18.0</version>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
**数据库连接配置yml:**
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&serverTimezone=GMT%2B8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
 **模板实例:**
/**
 * @ Author     :lzy
 * @ Date       :Created in 16:21 2019/2/26
 * @ Description:打印模板java实体类
 */
@Data
public class PrintTemplate {
    private String t_id;
    private String t_print_content ;
    private String t_print_content_filed ;
}
数据库访问dao层:
/**
 * @ Author     :lzy
 * @ Date       :Created in 16:19 2019/2/26
 * @ Description:数据库访问层,dao层
 */
@Repository
public class PrintTemplateRepository {
    @Autowired
    private JdbcTemplate jdbcTemplate;

public PrintTemplate getPrintTemplate(){
    RowMapper rowMapper= BeanPropertyRowMapper.newInstance(PrintTemplate.class);
    List<PrintTemplate> list=jdbcTemplate.query(" select * from t_print_template limit 1", rowMapper);
    return  list.get(0);
}

public int setTemplate(PrintTemplate printTemplate){
    int num=jdbcTemplate.update("INSERT INTO t_print_template VALUES(?,?,?);",printTemplate.getT_id(),printTemplate.getT_print_content(),printTemplate.getT_print_content_filed());
    return num;
}

}

2.4 Html页面的插件使用

获取lodop所设计模板,设计完成的返回代码,以json传输到controller,通过java代码存储在mysql数据库作为设计模板。
获取设计器返回代码如下:
var LODOP;
function getMyLodop() {
LODOP=getLodop();
if (LODOP.CVERSION){
CLODOP.On_Return=function(TaskID,Value){
var code = Value;
alert(code);
//console.info(code);
document.getElementById(‘S1’).value=Value;
}
}
LODOP.PRINT_DESIGN();
}

3设计模板

访问http://localhost:8080/desgin进行模板的设计和命名。
1、 输入模板名称,点击“打印设计”。
2、 启动模板设计器,进行打印模板设计,关闭设计器代码会自动赋给文本框。
3、 文本框中进行模板二次设计,采用代码的形式。
4、 提交模板入数据库。

3模板调用

第一次访问http://localhost:8080/user?name=天道酬勤,所得模板如下所示:
在这里插入图片描述
第二次访问http://localhost:8080/user?name=天勤,所得模板如下所示:
在这里插入图片描述

所以我们可以根据所传的模板名称与替换属性进行动态的插入需要打印数据

附:

百度云源码与github源码可能会有些不一样,因为.git文件不见了所以更新之后的就没提交github,只上传到百度云。
百度云链接:
链接:https://pan.baidu.com/s/1WvBREpnPMSkXij34_wklbg
提取码:x2ox

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值