pos机凭条打印不出来,解决Qt免驱方式POS打印机打印中文乱码问题

 新闻资讯2  |   2023-05-25 10:01  |  投稿人:pos机之家

网上有很多关于pos机凭条打印不出来,解决Qt免驱方式POS打印机打印中文乱码问题的知识,也有很多人为大家解答关于pos机凭条打印不出来的问题,今天pos机之家(www.poszjia.com)为大家整理了关于这方面的知识,让我们一起来看下吧!

本文目录一览:

1、pos机凭条打印不出来

pos机凭条打印不出来

一.设备就是文件

在Linux 中安装打印机Linux驱动,实在是不容易,各种小票POS打印机差不多都只带windows驱动,在Linux中测试过多种其他打印机驱动均不正常。

后来想到Linux系统中所有设备都以文件形式表示,于是发现直接免驱方式打印更方便。

因为串口打印机接在Linux系统后,对应端口 /dev/ttyS0

usb打印机只要插入Linux电脑,就自动在/dev/usb 下显示成文件名 /dev/usb/lp0,(也可能是 lp1或lp2,去/dev/usb下查看即可)

二.开启设备权限

使用串口打印,需要先开启串口的访问权限。命令如下:

sudo chmod a+rw /dev/ttyS0 执行该命令,表示开放COM1的权限

USB 方式 相同,接上USB打印机。上电后,查看/dev/usb/lp0的设备是否存在。

然后开启串口的访问权限。命令如下:

sudo chmod a+rw /dev/usb/lp0 执行该命令,表示开放usb打印机的权限

Ubuntu开机之后会执行/etc/rc.local文件中的脚本,

所以我们可以直接在/etc/rc.local中添加启动脚本。

当然要添加到语句:exit 0 前面才行。

如:

sudo vi /etc/rc.local

然后在 exit 0 前面添加好两行chmod命令。

三.测试打印

可以直接 在终端 测试打印

echo "Test Print" > /dev/ttyS0

echo "Test Print" > /dev/usb/lp0

不过,这时候 测试中文 打印 却打印出乱码

echo "Test Print 测试打印 " > /dev/ttyS0

四.解决Qt中文打印乱码

花了不少时间查询,开始以为是Linux系统编码问题,按网上方法处理,没有效果,几经辛苦终于找到解决方法,实在是太简单

在头文件处理

public:

下加入

QTextcodec *code= QTextCodec::codecForName("GB18030");

代码部分:

Posix_QextSerialPort *SerialPort;

SerialPort = new Posix_QextSerialPort(_SerialPortName, QextSerialBase::Polling);

//使用第三方 Posix_QextSerialPort 类,设置部分在此略去...

QString PrintLine= "Print Data 测试 " ;

SerialPort->write(code->fromUnicode(PrintLine));

打印效果正常。

这第三方 Posix_QextSerialPort 类,实在是好用,仅需少少改动,直接同时适用于 串口与usb打印机(usb打印机免去串口波比率等设置即可)。并口打印机应该直接适用,估计与usb方式的改动相似,我这没有LPT打印机,就没测试了。

以上就是关于pos机凭条打印不出来,解决Qt免驱方式POS打印机打印中文乱码问题的知识,后面我们会继续为大家整理关于pos机凭条打印不出来的知识,希望能够帮助到大家!

转发请带上网址:http://www.poszjia.com/newsone/53481.html

你可能会喜欢:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 babsan@163.com 举报,一经查实,本站将立刻删除。