打印功能开发历程,解决百分之九十九的打印需求

项目经常要做到打印功能,经过一系列的折腾。记录一下吧。

1、C# winfrom+aspose本地模版打印客户端+web页面打印。

用winfrom开发一个本地客户端,集成模版和通信服务器。web页面调用,来实现打印功能,能实现功能,但是不利于后期维护。

2、C# winfrom本地打印客户端,springboot+aspose,维护客户模版,服务器生成pdf+问页面打印。

这种方式基本能满足大部分的业务需求了,但是对于设计模版的用户有要求,不熟悉word和模版占位符的,实在是用不了,而且模版样式比较抽象。如果设计模版是专业人员,这种方式其实是最好的了,word的尺寸这些完全是可控的,通过word样式来设计打印的结果。

3、web打印模版设计器+C# winfrom本地打印客户端,解析模版数据,填充模版并打印。

这种方式是为了解决方式2没有专业人员设计模版的问题,可以通过页面拖拽达到设计打印模版的目的,缺点也比较明显,设计器的坐标和打印机实际出来的坐标无法百分之百准确,多少有点误差。但是这种误差对于营运成本来说可以忽略了。

开源项目FastPrint地址,可以基于这个项目来构建自己的打印业务,全部都是开源的,可以自己修改。目前实现的有:

1、文本

2、表格

3、一维码

4、二维码

5、图片

设计器:fastprint-designer: FastPrint Designer 是一款功能强大、直观易用的打印模板设计器,基于 Vue 3 + Vite 技术栈开发,专为企业和个人用户提供专业的打印模板设计解决方案。 该设计器支持拖拽式组件编辑,用户可以轻松添加文本、图片、条形码、二维码和表格等多种元素,并通过直观的属性面板实时调整样式和布局。核心功能包括实时预览、撤销/重做、复制/粘贴和键盘快捷键支持,让设计过程更加高效流畅。

客户端: FastPrintClient: FastPrint Client 是一个基于 Windows 平台的打印服务客户端,专为企业级应用设计,支持通过 WebSocket 和 HTTP 接口接收打印请求,实现模板化打印功能。

客户端开放HTTP和Websocke服务:

相关推荐
格林威16 小时前
C# 相机Burst模式图像采集:使用相机内存配合OpenCvSharp和Halcon实现短时间的高速采集的方法
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
J总裁的小芒果17 小时前
参数过多-分批传参
c#
典典分享指南17 小时前
短视频分镜提示词:让 AI 出片的产品口播
java·c#·bash·composer·symfony
Z59981784118 小时前
c#软件开发学习笔记--WPF(Canvas、数据绑定、MVVM模式、值转换器)
笔记·学习·c#
淡海水20 小时前
05-03-栈队列-PriorityQueue-TElement-TPriority-NET6优先队列语义与四叉堆实现
服务器·前端·c#·priorityqueue·clr·telement
leonkay1 天前
C# 特性(Attribute)——【1】基础讲解
开发语言·青少年编程·面试·c#·.net·个人开发
CSDN_RTKLIB1 天前
数据库七大符号表
c#
leonkay1 天前
C# 特性(Attribute)——【2】工业设备参数框架设计
经验分享·面试·架构·c#·学习方法·设计
2501_906565121 天前
小创 · 智能助手
开发语言·c#
datalover2 天前
【无标题】
c#·linq