在Android实现Pos打印的应用场景?实现pos打印的难度?如何用只支持黑白的热敏打印机打印出灰阶效果?
pos热敏打印机在平时生活中还是挺常见的,一般在超市、饭店看到打印小票的就是热敏打印机了。其实现在很多的收银设备、扫描支付设备都是在Android板上开发的。只是外接的一个pos热敏打印机。可以想象这样功能单一的程序开发难度。当然Pos热敏打印机还能用在银行等排队系统中,用于打印凭条时使用。Pos热敏打印的应用场景还是挺多的,它的优势在于打印方便、价格便宜(有的不到一百大洋)、连接简单。
要实现Pos打印主要难度集中在两部分:1、如何连接Pos打印机,实现通讯。2、如何打印出想要格式的内容。对于连接Pos打印,这个目前主要有三种连接方式:蓝牙、USB、socket。蓝牙我目前还没有试过(感觉应该也不难),不过后两种连接方式我都尝试过,根据固定步骤开启通讯通道即可(参见:Android硬件控制之USB连接)。如何打印出想要的内容?通常对于打印来说,打印简单的文字、符号是比较简单的,如果打印图表就会比较难,而且普通买的Pos打印机,几乎都没有什么打印开发SDK什么的,所有要实现复杂的打印普遍都是自己去研究pos的打印指令(我是不愿意去研究),而我对与复杂的pos打印都是通过先生成图片、然后打印的方式实现,大大降低了打印难度,简单易懂。
很多人初次接触Pos热敏打印机打印一张彩色图片时,当看到一张黑白图片打印出来后和原图完全不同,都会怀疑是不是这个打印机不支持?是不是这种Pos打印机不适合打印图片?这点完全不用怀疑。打印的图片没有灰阶效果是因为你没有在图片中加上抖动效果(这个曾经困扰我很久的一个问题)。
这里连接设备包含了物理上的连接(网络、蓝牙、usb等),物理连接成功后,根据你使用的不同通讯方式,实现基础的于设备间通讯。(这里我就不详细介绍了)。
在百度上现在大量的关于POS打印采用PrinterUtils这样的方式,通过特殊的指令实现打印效果,虽然有人已经经过大量的封装了,但是使用时还是要对基本指令有所了解,例如:
仅仅是一个文字的对齐方式,在每次需要使用这种对齐方式的时候,都需要先设置以下,才会生效。而且这种pos编码有的时候会存在不用打印机尺寸上打印的效果有所差异。所以我这里采用的是先根据内容生成图片、然后打印的方式。对于图片打印只需要关注以下几步即可:
a.图片缩放。因为打印纸是固定宽度的,所以必须将图片缩放到打印纸的最大宽度,否则超出后容易出现乱码.
c.图片抖动算法。图片抖动的作用是根据灰度的不同产生不同密度的黑色像素,在用单色时达到灰阶的算法。(至于这个算法的具体是怎么设计的,这个我也没有深入研究)
打印图片时,需要对图片做分割、因为Pos打印机通常受每次打印宽度的限制,所以打印时,需要将图片按照打印宽度做分割,每次每次打印。
1.图片打印乱码。你的发送到打印的图片字节太大,超过了设备每次所能接收的最大值时,就会出现乱码。这种情况,你以采用上面的图片分割,把一张图片分割后后多次发送。
2.头像不够细腻。在处理打印的内容中如果出现头像等图片时,最好对图片头像单独执行抖动效果,尽量避免对执行过抖动效果的图片执行缩放操作,这个容易放大抖动像素点,观感不加。
我把Android系统USB通讯、Android系统串口通信、Android系统Pos打印、Android系统gpio控制、Android上USB连接Camera、Android系统上实现双屏异显等示例代码都放到github上(CSDN现在下载需要积分,暂时就不上传了),代码现在还没有整理,如有什么不合理的地方,希望大佬们指正 。后续将陆续推出以上系列播客。
一、安装WINDOWS 2000 专业版,最少分两个区,因为款机的本地数据库要安装在D盘上。装上网卡、两个显卡的驱动。建议分辨率调整为640*480,刷新率调为最低,颜色调整为增强16位色。
注意事项:双人款机在登陆的时候,必须等到结算方登陆后扫码方才能登陆,否则因为本地数据库没有启动,会造成扫码方无法登陆,因为POS机没有鼠标和大键盘,会给系统重启动造成麻烦。另外,因为采用了WINDOWS操作系统,很容易感染病毒,而一般杀毒软件安装后,HISHARE软件的STATION2端启动不了,现在只发现熊猫卫士还可使用,效果有待检验。若大家发现有什么更好的软件,请发邮件到,大家共同进步。
POS-IC-TCP/IP-01消费机是我公司自主研发一种简易化、智能化的新型消费机,广泛应用于校园、企业、政府机关的食堂、超市、会所等内部收费的场合,实现交易和结算的电子化、智能化,提高用户的管理效率和管理手段,是校园、企业一卡通的最主要组成部分。
易装易用免培训的设计理念,最大限度地降低日常维护成本,不仅让经销商、工程商朋友省时省心,同时也给使用者一个全新的使用体验。下面是消POS消费机界面图(1-1)
【Func】→【设置1】→【时间设置】输入密码即可进行时间更改设置,时间格式:11-03-08 10:02:30,按【Enter】完成设置。
【Func】→【设置1】→【各餐起止时间设置】→【早餐】、【午餐】、【晚餐】及【夜宵】各时间段进行设定,按【Enter】完成。
【Func】→【设置1】→【卡内金额限制设置】→【最大金额】、【最小金额】及【下限报警金额】三项进行设定。
【Func】→【设置1】→【单位代码】输入管理员密码即可进行设置,如008(单位或班级编号)。
【Func】→【设置1】→【相同卡最小间隔设置】输入密码,根据需要进行同卡刷卡时间间隔设置(如1s:001)。
【Func】→【设置2】→【消费累计方式设置】→【每餐累计】和【每天累计】两种方式可供选择。
【Func】→【设置2】→【消费模式设置】→【普通模式】、【定额消费模式】、【快捷键方式】、【每餐记次】四种方式可供选择。
【Func】→【设置2】→【各餐最高限额】→【早餐】、【午餐】、【晚餐】及【夜宵】四餐进行限额设置。
【Func】→【设置2】→【各餐最高限次】→【早餐】、【午餐】、【晚餐】及【夜宵】四餐进行限次设置,最高63次。
【Func】→【设置2】→【快捷键键值设置】输入密码进入具体设置页面,有0-9十个键快捷键值设置。
【Func】→【设置2】→【卡类别0定额设置】(0-7八种类别)→【早餐】、【午餐】、【晚餐】及【夜宵】四餐进行限次设置,消费次数≤63,等于63即次数无限。
收银系统方案 系 统 项 目 概 述 一、总 概 述 1.概述 目前,平价商场、超市日益盛行----在城市普及之后正逐渐向城乡结合部发展。这些商场、超市因货物品种繁多且购物的人流量大,所以迫切需要一套系统以...
产品简介1.1 产品概述1.2产品结构示意图1.3产品特点第二章 技术参数第三章 设备操作说明 3.1 网络拓扑图 3.2 消费
POS-IC-485-01消费机是我公司自主研发的简易化、智能化的新型消费机,广泛应用于校园、企业、政府机关的食堂、超市、会所等内部收费的场合,实现交易和结算的电子化、智能化,提高管理效率和完善管理手段,是校园、企业一卡通系统的主要组成部分。
易装易用免培训的设计理念,最大限度地降低日常维护成本,不仅让经销商、工程商朋友省时省心,同时也给使用者一个全新的使用体验。
u个性设置:可自己设定开机文字显示,待机LOGO画面显示(128*32黑白像素图片),售后服务热线黑白像素图片);
消费机主要是通过设备面板上的键盘操作完成日常的消费扣款工作,设定设备的部分参数和功能,查询刷卡记录和卡内金额等。
Func】→【设置1】→【时间设置】输入密码即可进行时间更改设置,时间格式:11-03-0810:02:30,按【Enter】完成设置。
Func】→【设置1】→【各餐起止时间设置】→【早餐】、【午餐】、【晚餐】及【夜宵】各时间段进行设定,按【Enter】完成。
Func】→【设置1】→【卡内金额限制设置】→【最大金额】、【最小金额】及【下限报警金额】三项进行设定。
Func】→【设置1】→【单位代码】输入管理员密码即可进行设置,如008(单位或班级编号)。
Func】→【设置1】→【相同卡最小间隔设置】输入密码,根据需要进行同卡刷卡时间间隔设置(如1s:001)。
Func】→【设置2】→【消费模式设置】→【普通模式】、【定额消费模式】、【快捷键方式】、【每餐记次】四种方式可供选择。
Func】→【设置2】→【各餐最高限额】→【早餐】、【午餐】、【晚餐】及【夜宵】四餐进行限额设置。
Func】→【设置2】→【各餐最高限次】→【早餐】、【午餐】、【晚餐】及【夜宵】四餐进行限次设置,消费次数≤63,等于63即次数无限。
Func】→【设置2】→【快捷键键值设置】输入密码进入具体设置页面,有0-9十个键快捷键值设置。
Func】→【设置2】→【卡类别0定额设置】(0-7八种类别)→【早餐】、【午餐】、【晚餐】及【夜宵】四餐进行限次设置。


