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

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

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 小时前
第四章:AssetBundle 核心机制与文件结构
unity·c#·游戏引擎·游戏程序
2501_930707783 小时前
使用C#代码拆分 PowerPoint 演示文稿
开发语言·c#·powerpoint
SenChien4 小时前
C#学习笔记-入门篇
笔记·学习·c#·rider
诙_4 小时前
由C++速通C#
开发语言·c#
Xin_ye100864 小时前
C# 零基础到精通教程 - 第九章:面向对象编程(高级)——接口、委托与事件
开发语言·c#
步步为营DotNet4 小时前
深入.NET 11:C# 14 在边缘计算数据处理的优化与实践
c#·.net·边缘计算
weixin_428005304 小时前
C#调用 AI学习从0开始-第1阶段(基础与工具)-第6天流式输出
开发语言·学习·c#·流式输出stream
xiaoshuaishuai84 小时前
C# Anthropic连接超时原因及方案
开发语言·网络·tcp/ip·c#
加号34 小时前
【C#】 实现 CRC16 校验:原理、算法与工程实践
算法·c#
HEADKON4 小时前
阿西米尼常见副作用血小板减少及高血压的临床特征与管理
c#