如何通过.net桌面应用程序直接打印到连接到串行端口的打印机

本文关键字:连接 串行端口 打印机 打印 net 何通过 桌面 应用程序 | 更新日期: 2023-09-27 18:37:04

我一直在开发一个使用 .NET Framework 4.5 和 C# 作为语言构建的桌面应用程序。要求是打印机将连接到串行端口上,端口设置将由用户通过应用程序提供,如端口号,波特率等。

当用户点击打印按钮时,它应直接打印到打印机,而不显示打印对话框。我从未从桌面应用程序进行过打印,也不知道如何实现这一点。

  1. 我是否应该编写特定于该打印机驱动程序的代码?
  2. 或者是否有任何通用方法可以将打印指令发送到连接到串行端口的打印机?
  3. 我可以将普通字符串发送到串行端口,但是如果我需要做一些格式化,比如画一个表格,我怎样才能让串口打印机打印一个格式化的表格和其中的值......例如账单。

任何帮助将不胜感激。

谢谢阿米特

如何通过.net桌面应用程序直接打印到连接到串行端口的打印机

您需要发送 ESC/POS 命令。这将控制字体、行高等以及正在传输的实际文本。

http://pyramidacceptors.com/cms/wp-content/uploads/2013/02/ESC_POS_Protocol_Commands_REV_B.pdf

另一个有用的SO问题:如何在c#中使用esc/pos命令?

此外,无需重新发明轮子。检查 Github 以获取库:https://github.com/yukimizake/ThermalDotNet

至于生成表格和其他此类非文本,您需要阅读目标打印机支持的命令集。如果您正在打印账单,听起来您的目标是热敏打印机。图像/非文本支持因型号而异。