背景
检验的打印包含报告单打印,表格数据打印,图表打印等。以报告单打印为例,不光要检验系统自己的浏览器能打印报告,还要自助机、HIS、归档报告PDF等。而且伴随着随时调整打印格式的要求。打印的实现要求满足多方调用的要求,和方便打印格式调整的要求。为此抽象了打印元数据,元数据定义了常用点、线、文本、多边形、条码、图片、打印机、换页等元素的数据格式。基于元数据定义实现了打印dll,该dll只对打印元数据负责,绘制打印不涉及业务逻辑。由脚本语言JS和Cache数据库的M脚本语言控制打印元数据的输出来控制打印。具体调用分别包装打印EXE、发布打印服务、IE的cab包调用、ClickOne的调用等。最终调用的目的都是驱动打印动态库取得绘制的数据打印。

核心dll结构
打印设计

调用结构图
打印设计

JS控制元素
打印设计
JS打印绘制
打印设计
效果
打印设计

对JS的Canvas绘图等包装代理方法实现界面绘制和打印共用逻辑(绘图逻辑用包装的代理方法实现打印绘制一体化)
打印设计
打印设计
基于打印元数据的报告设计器
打印设计

打印设计

由Cache数据库的M脚本语言结合模板设计器维护的数据融合业务数据输出打印数据给打印dll实现打印功能。从而做到对各种调用的开发和对打印格式调整的开发。结合BS-CS交互实现整个检验的打印功能。

相关文章:

  • 2021-06-28
  • 2021-07-02
  • 2022-12-23
  • 2022-12-23
  • 2021-12-15
  • 2022-01-20
猜你喜欢
  • 2022-12-23
  • 2022-02-08
  • 2022-12-23
  • 2021-12-25
相关资源
相似解决方案