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