栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

自己打印饭店小票

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自己打印饭店小票

今天为大家介绍.Net下POS机小票打印功能的实现,在实际生产环境下,我们的门店使用的小票机大部分是LPT接口,但是也有一部分新的小票机采用的是USB接口的。我们在开发门店零售管理系统时,在小票打印模块,我们就提供了两种不同的打印方式,下面就介绍这两种小票打印方式 是如何实现的。

POS小票并口打印

LPT并口打印

实现一个并口打印类 POSPrinter,我们需要调用WinAPI创建打印文件,.Net使用WinAPI,需要使用DllImport方式导入DLL即可,具体实现方式如下:

const int OPEN_EXISTING = 3;

string prnPort = "LPT1";

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]

private static extern IntPtr CreateFile(string lpFileName,

int dwDesiredAccess,

int dwShareMode,

int lpSecurityAttributes,

int dwCreationDisposition,

int dwFlagsAndAttributes,

int hTemplateFile);

public POSPrinter()

{

//

// TODO: 在此处添加构造函数逻辑

//

this.prnPort = ConfigurationManager.AppSettings["PosTitck"].ToString(); //获取系统配置的小票机端口号

}

public POSPrinter(string prnPort)

{

this.prnPort = prnPort;//打印机端口

}

我们需要实现一个商品小票打印方法,来处理小票打印请求。

///

/// 打印小票

///

/// 商品明细

/// 小票流水号

/// 总金额

/// 总数量

/// 客户名称

/// 现金额

/// 会员卡号

/// 找零

/// 支付宝付款

/// 微信付款

///

public string PrintLine(DataTable dt, string posCode, decimal dSum, decimal dCount, string custName, string cashYe, string strVipCard, string cashCardNo, decimal dZl,

decimal aliYe, decimal weYe)

PrintLine

一般并口的小票机是一头是连接钱箱的,小票打印完成后,会自动弹出钱箱。需要下面的代码进行弹出操作

OpenMoney

以上就是LPT并口打印类的代码,在自己项目里,只要稍作修改下即可使用。关于USB接口打印小票,我并未使用PrintPreviewDialog.Net自带的打印组件实现,而是采用了GridReport++实现的,下篇文章,会给大家介绍如何使用GridReport++实现小票打印。

关注「程序君」,分享实用的编程开发技巧,也欢迎大家留言,一起学习交流分享,另外码字不易,请点赞支持。十分感谢!

如果有朋友需要本文的源码,请单独私信 程序君 留下本人邮箱,我会尽快通过邮件发送给你。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号