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

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

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服务:

相关推荐
小曹要微笑3 小时前
c#的异常
microsoft·c#·异常·c#的异常
河西石头5 小时前
powerconfig告别繁琐配置读写---为C#提供了一个快捷的读写配置文件的API
开发语言·c#·高效读写配置文件·c#配置文件·xml读写
Scout-leaf6 小时前
WPF新手村教程(五)— 附魔教学(绑定)
c#·wpf
宝桥南山7 小时前
Microsoft Fabric - 试一下在Blazor应用中使用 GraphQL API去连接Lakehouse
microsoft·c#·asp.net·.netcore·fabric·db
gc_22997 小时前
C#调用Microsoft.ML.OnnxRuntime和YOLO5模型时的输入数据格式分析
yolo·c#·数据预处理
猹叉叉(学习版)7 小时前
【ASP.NET CORE】 11. SignalR
笔记·后端·c#·asp.net·.netcore
bugcome_com8 小时前
C# 匿名方法与 Lambda 表达式全解析
c#
格林威8 小时前
工业相机图像高速存储(C#版):直接IO(Direct I/O)绕过系统缓存,附堡盟相机实战代码!
开发语言·人工智能·数码相机·计算机视觉·缓存·c#·视觉检测
格林威9 小时前
工业相机图像高速存储(C#版):直接IO(Direct I/O)方法,附Basler相机实战代码!
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机