更好的小票打印体验,huanent.printer2.0发布

huanent.printer2.0是一个专注消费小票打印的类库。拥有许多先进的特性例如居中打印、自动换行等特性,可以通过简洁的代码来打印出复杂的消费小票。huanent.printer通过MIT方式授权,可随意用于商业用途,只要注明作者即可。

你可以通过github获取源码与提交bug:https://github.com/huanent/Huanent.Printer

huanent.printer已上传至nuget,可在nuget直接搜索名称huanent.printer安装

下面三幅图是使用huanent.printer打印的80,76,58宽度的小票,不同宽度的小票只需切换一个属性值即可自动适应,标题绝对剧中,商品名称过长自动换行,分割线长度自适应。

huanent.printer的使用也非常简单,首先获得电脑上所有打印机的名称列表

var printers = PrintQueueHelper.GetPrintQueueName();

从printers选择你的小票打印机名称,并使用此名称获得一个IPrinter打印对象

var printer = PrinterFactory.GetPrinter("xp80mm", PaperWidth.Paper80mm);
GetPrinter的第二个参数可以传入一个PaperWidth的枚举,预定义80,76,58三种宽度,也可以传入一个自定义的int值。IPrinter对象有5个方法分别是:
  • PrintText
  • PrintImage
  • PrintLine
  • NewRow
  • Finish

PrintText方法

PrintText方法可以灵活地指定文字的打印方式例如文字的剧中方式,可进行左,中,右对齐(必须调用Finish()方法打印机才会开始打印!)
printer.PrintText("你好",stringAlignment:StringAlignment.Center);
printer.PrintText("你好2", stringAlignment: StringAlignment.Far);
printer.Finish();

可以指定文字的最大宽度,如果超出宽度就会自动换行,width的取值范围为0到1,0.3代表纸张的百分之30宽度

printer.PrintText("一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十",width:0.3f);
printer.Finish();

指定偏移量

printer.PrintText("一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十",width:0.3f,offset:0.2f);
printer.Finish();

指定字体大小(要还行需要显示调用NewRow()方法)

printer.PrintText("正", Printer.Models.FontSize.Huge);
printer.NewRow();
printer.PrintText("正");
printer.NewRow();
printer.PrintText("正",Printer.Models.FontSize.micro);
printer.NewRow();
printer.Finish();

PrintImage方法

打印一张图片,图片也支持对齐方式

printer.PrintImage(new Bitmap("qr.png"),StringAlignment.Far);
printer.Finish();

PrintLine方法

PrintLine打印一条线条,如果需要在小票打印分割线建议使用此方法,而不是使用PrintText。因为PrintLine可以做到不同纸张的线条宽度自适应不会引起线条换行

printer.PrintLine();
printer.Finish();

NewRow方法

调用NewRow方法会引起换行,即使是一个PrintText中有多行,也可智能换行。

printer.PrintText("一二三四五六七八", width: 0.3f);
printer.PrintText("一二三四五六七八", width: 0.2f, offset: 0.4f);
printer.NewRow();
printer.PrintText("我是新的行");
printer.NewRow();
printer.Finish();

Finish方法

Finish方法很简单,以上的所有方法调用后都在缓冲区,调用Finish后会在小票机真实打印出单据,并清除缓冲区。所以在票据代码的末尾调用即可。

原文地址:https://www.cnblogs.com/huanent/p/8207251.html

时间: 2024-10-13 04:11:59

更好的小票打印体验,huanent.printer2.0发布的相关文章

酷客多小程序新版发布:与微信卡券、小票打印等无缝对接

酷客多小程序商城系统更新了!酷客多小程序商城系统更新了!酷客多小程序商城系统更新了!重要的事情说3遍!这一次我们对原有版本做了全方位体验优化,从UI UE等方面对商家后台进行了体验式改善,使商家后台变得更加美观和易用.除此之外,还推出了"微信优惠券"和"小票打印"两个重要功能 ,已实现与微信卡券和小票打印机无缝对接,更便于品牌传播.具体的功能说明请见下文. 一.左侧导航菜单优化 1,调整了左侧栏目的显示顺序,显示顺序改为"店铺管理"-"

生活在别处——“Samsung Cloud Print”云打印体验

据工信部发布的数据信息显示,截至8月底,我国移动互联网用户总数已达9.46亿户规模,其中手机上网总数超过9亿户.移动互联网用户规模的不断扩大,进一步证明拥抱移动互联网已成为不可扭转的趋势,也是各互联网设备及平台的全新机会. 云打印技术是一种基于这样的背景而诞生的新型打印方式,其依托云计算与大数据.移动终端设备等特点,使得用户可实现随时随地的打印需求.在最近2年的发展历程中,这种云打印方式因为具备便捷.高效.不受时间地域限制等优点,日趋成为商务市场的绝佳伴侣,三星"Samsung Cloud Pr

“小票打印”功能来了!酷客多带你玩转小程序

酷客多(http://www.kukeduo.cn)最近给小程序推出了一个新功能,小票打印功能,可以说这是众多运营者期待已久的功能,这次终于等到了.对于餐饮业运营者来说,这次新功能的推出更加给予了他们极大的便利.现在马上带你感受感受这次酷客多推出的重磅功能! 一.打印准备 1. 打开包装 2. 装入打印纸 移除 二.打印本机信息(用于商家后台配置) 1. 接通打印机电源 2. 长按左键开启打印机 移除 3. 初次开机会自动打印提示 4. 按右键进入菜单 移除 5. 按右键,打印本机信息 移除 三

重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印

重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印 一.引言 桌面端系统经常需要对接各种硬件设备,比如扫描器.读卡器.打印机等. 这里介绍下桌面端系统打印经常使用的场景. 1.一种是类似票务方面的系统需要打印固定格式的票据.比如景点门票.车票.电影票. 这种基本是根据模板调整位置套打. 2.还有一种是交易小票,比如商超POS小票,打印长度会随着内容的大小自动伸缩. 这种就不仅仅是固定格式的套打了,还得计算数据行以适应不同的打印长度. 打印方式

Atitit.收银机小票打印功能的设计  java php c#.net版本

Atitit.收银机小票打印功能的设计  java php c#.net版本 1. 1. 打印方式有4种:1 1.1. 1.1. 一是不经过任何修改,直接调用javascript中的window.print()打印.1 1.2. 1.2. 二根据客户要求的报表格式,编写相应格式的html,装载数据打印,同样调用window.print()打印,只是对html的格式要求比较高.1 1.3. 1.3. 三是通过客户提供的word格式,通过xml配置文件与数据库的数据进行关联,自动装载数据到word中

qt实现小票打印

1.需求 需要实现订单结算后的小票打印,要求能打印商品数据和结算数据及将小票号打印成条码,退货或查询时能通过扫描枪扫描条码快速查询到订单信息 2.解决 1.通过将数据转化为html后调用qt进行打印,打印机无法打印img标签中的条码 2.通过将数据转化为html,将条码直接绘制的方法实现了需求 3.代码 Barcode.h // Barcode.h: interface for the CBarcode class. // // Copyright 2002 Neil Van Eps // //

Android打印机--小票打印格式及模板设置

小票打印就是向打印设备发送控制打印格式的指令集,而这些打印格式需要去查询对应打印机的API文档,这里我把常用的api给封装了一下 文字对齐方式 打印字体大小 字体是否加粗 打印二维码 打印条形码 切纸 打开钱箱 字符串转字节数组 字符拼接 PrintFormatUtils.java /** * 打印格式 * Created by john on 17-3-23. */ public class PrintFormatUtils { // 对齐方式 public static final int

游戏性是什么:如何更好地创作与体验游戏

这篇是计算机类的优质预售推荐>>>><游戏性是什么:如何更好地创作与体验游戏> 日本电子游戏学会副会长 <FAMI通>特约作者 游戏研究通俗著作,以最简单的语言阐释"游戏性"的本质.日本游戏的"吸引力"机制,人与游戏的乐趣体验原理. 编辑推荐 日本立命馆大学游戏研究中心 日本立命馆大学教授 Tokyo Game Show大奖得主 渡边修司 日本电子游戏学会副会长 中国游戏研究专家 <FAMI通>特约作者 中

关于一体机打印新加菜按钮更改为下单小票打印设置FAQ(适用正餐6.0.1.0+,轻餐4.0.6.2+)

适用版本:正餐6.0.1.0+,轻餐4.0.6.2+ 实际场景:更新后小票设置中的打印新加菜按钮更换为下单小票打印设置,更换后,设置中,有3个选项: 1.仅打印新加菜    (选中后,订单加菜后前台小票只打印新点的菜品,之前订单中的菜品不打印) 2.不打印下单小票(首次下单和加菜时,都仅打印设置的后厨和传菜小票,不打印前台小票) 3.打印完整菜单(首次下单和加菜时,前台小票都会将订单中的菜品完整打印) 注意:客户端中的这三个选项是和管理员后台中店铺配置里面此处中的选择关联, 1.当客户端选择不打