網(wǎng)上有很多關(guān)于pos機(jī)怎么打印以前的,解決Qt免驅(qū)方式POS打印機(jī)打印中文亂碼問題的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)怎么打印以前的的問題,今天pos機(jī)之家(www.rcqwhg.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
pos機(jī)怎么打印以前的
一.設(shè)備就是文件在Linux 中安裝打印機(jī)Linux驅(qū)動(dòng),實(shí)在是不容易,各種小票POS打印機(jī)差不多都只帶windows驅(qū)動(dòng),在Linux中測(cè)試過多種其他打印機(jī)驅(qū)動(dòng)均不正常。
后來(lái)想到Linux系統(tǒng)中所有設(shè)備都以文件形式表示,于是發(fā)現(xiàn)直接免驅(qū)方式打印更方便。
因?yàn)榇诖蛴C(jī)接在Linux系統(tǒng)后,對(duì)應(yīng)端口 /dev/ttyS0
usb打印機(jī)只要插入Linux電腦,就自動(dòng)在/dev/usb 下顯示成文件名 /dev/usb/lp0,(也可能是 lp1或lp2,去/dev/usb下查看即可)
二.開啟設(shè)備權(quán)限使用串口打印,需要先開啟串口的訪問權(quán)限。命令如下:
sudo chmod a+rw /dev/ttyS0 執(zhí)行該命令,表示開放COM1的權(quán)限
USB 方式 相同,接上USB打印機(jī)。上電后,查看/dev/usb/lp0的設(shè)備是否存在。
然后開啟串口的訪問權(quán)限。命令如下:
sudo chmod a+rw /dev/usb/lp0 執(zhí)行該命令,表示開放usb打印機(jī)的權(quán)限
Ubuntu開機(jī)之后會(huì)執(zhí)行/etc/rc.local文件中的腳本,
所以我們可以直接在/etc/rc.local中添加啟動(dòng)腳本。
當(dāng)然要添加到語(yǔ)句:exit 0 前面才行。
如:
sudo vi /etc/rc.local
然后在 exit 0 前面添加好兩行chmod命令。
三.測(cè)試打印可以直接 在終端 測(cè)試打印
echo "Test Print" > /dev/ttyS0
echo "Test Print" > /dev/usb/lp0
不過,這時(shí)候 測(cè)試中文 打印 卻打印出亂碼
echo "Test Print 測(cè)試打印 " > /dev/ttyS0
四.解決Qt中文打印亂碼花了不少時(shí)間查詢,開始以為是Linux系統(tǒng)編碼問題,按網(wǎng)上方法處理,沒有效果,幾經(jīng)辛苦終于找到解決方法,實(shí)在是太簡(jiǎn)單
在頭文件處理
public:
下加入
QTextcodec *code= QTextCodec::codecForName("GB18030");
代碼部分:
Posix_QextSerialPort *SerialPort;
SerialPort = new Posix_QextSerialPort(_SerialPortName, QextSerialBase::Polling);
//使用第三方 Posix_QextSerialPort 類,設(shè)置部分在此略去...
QString PrintLine= "Print Data 測(cè)試 " ;
SerialPort->write(code->fromUnicode(PrintLine));
打印效果正常。
這第三方 Posix_QextSerialPort 類,實(shí)在是好用,僅需少少改動(dòng),直接同時(shí)適用于 串口與usb打印機(jī)(usb打印機(jī)免去串口波比率等設(shè)置即可)。并口打印機(jī)應(yīng)該直接適用,估計(jì)與usb方式的改動(dòng)相似,我這沒有LPT打印機(jī),就沒測(cè)試了。
以上就是關(guān)于pos機(jī)怎么打印以前的,解決Qt免驅(qū)方式POS打印機(jī)打印中文亂碼問題的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)怎么打印以前的的知識(shí),希望能夠幫助到大家!