logo

RuoYi v4.7.9

基于SpringBoot开发的轻量级Java快速开发框架

#技术方案 ##方案介绍 轻量级独立的打印服务,用于打印集中管理,远程打印服务,提供远程接口访问,打印任务下发,打印日志,打印方案配置,模版管理,是否用户鉴权(IP校验、客户端ID)的能力 #核心内容 1、打印服务模块:使用JPS进行无状态的打印任务下发; 2、服务接口:提供rest接口,通过接口调用进行打印数据、打印任务的创建;任务创建的结果反馈 3、打印日志:打印任务的创建、模版、数据、方案配置等历史记录的查询和补打 4、模版管理:设置打印的模版、纸张类型、打印参数等配置 #架构图 技术路线: 若依单体框架-最新班4.7.9-springboot3版本 springBoot 3.3.1 springboot-freemarker-3.3.1 com.itextpdf-5.5.13 com.google.zxing-3.5.3 ueeditor jdk17版本 系统结构图 ![img.png](img.png) 系统功能 ![img_1.png](img_1.png) 模版的说明 目前系统只支持thymeleaf的模版、freemarker和纯html的模版渲染打印 基础配置说明: 外置模版路径配置:aplication.yml win.path.template 路径 默认当前应用路径下/models 客户端编码设置 : aplication.yml win.clientCode 多客户端端时配置,服务根据此编码获取打印任务 数据字典: 模版类型 :系统内置(CLASS),文件路径(FILE),数据模版(STRING) 系统内置:集成在系统class目录中,不能修改 文件路径:可配置模版的存储路径 数据模版:存储在数据库中的字符串模版 参数类型:STRING 字符串 ,QRIMG,二维码类型(系统将吧传入的内容转换成Base64格式的二维码图片) 接口说明: /service/print/model post 方法 参数说明 /**客户端编码-目标打印机的客户端*/ private String clientCode; /**要打印的数据集合,根据配置的打印模版参数,参数编码需要和配置一致,*/ private List printData; /** * 模版编码 使用的模版编码,如果为空,则使用配置的默认模版,如果不为空优先使用传入的模版编号 * */ private String modelCode; /** * 单页模式还是多页模式,默认1单页单任务,多条数据时所有数据合成一个页面打印; 2 一条数据一个打印文件 * */ private String docModel="1"; /** * 打印机名称必须传 * */ private String printerName; /** * 计划打印时间, * */ private String printDate; /**任务ID * */ private String taskId; /**打印类型 * */ private String printType; /**打印分数 * */ private Integer copyCount; 请求格式样例: {"clientCode":"node_001", "modelCode":"test_file_model001", "docModel":"1", 不传默认为1 "printerName":"大厅 (HP Color LaserJet MFP M277dw)", "printType":"code", 不传默认为空 “printTime”:“2024-07-25 ” ,不传默认为当前系统时间 copyCount:1 不传默认为1 "printData":[根据模版的参数进行设置,支持多条数据]} 文档打印接口 /service/print/doc POST方法 参数说明 MultipartFile file:打印的文件 String clientCode, /**客户端编码-目标打印机的客户端*/ String printerName, 打印机名称必须传 String printType,不传默认为空 String printTime,计划打印时间,不传默认为当前系统时间 Integer copyCounts 打印数量不传默认为1