iT邦幫忙

0

如何用php連接USB熱感印表機並發送byte指令或圖檔

php

google搜尋有搜到php_printer.dll相關的文章
但是官方文件卻已經將載點和說明文檔通通移除掉
不知道是不是有甚麼疑慮?
所以想問問是否有大大知道其他方法能夠讓PHP連接USB設備並且發送指令?

1 個回答

0
wiseguy
iT邦超人 1 級 ‧ 2018-01-15 17:23:21

php 通常是做為 server side script,所以就算它可以連 USB 列表機列印,也是在 server 端。比如你做一個下單系統,user 遠端下單後,會在 server 也就是你這邊,列印出紙本單據出來。

php 本身不原生支援低階控制,所以除非你找到有人寫列表機擴充,比如你找到的這個 php_printer.dll,參考文件在 http://php.net/manual/fa/printer.setup.php

不過比較建議的方式是:找該列表機可能有提供的命令列執行檔,然後在 php 程式裡依 user 所選的需求,組成命令列,再以 exec() 來執行該命令列執行檔,進行列印,這樣會比較容易。

感謝大大回答,我們公司要做的就是伺服器端負責列印
謝謝大大提供的兩種方向,我會再試試看

另外昨天也有找到個github
https://github.com/mike42/escpos-php
有稍微測試一下能列印,不過發送byte去列印的方法還沒找到
php學得還不夠深QAQ

maxmas iT邦新手 4 級 ‧ 2018-01-16 14:18:00 檢舉

如上面人家的回答,PHP是編程語言,是被執行的語言,是因為有伺服器去解譯它,它才能工作,所以它本身無法控制你的電腦,不然大家都可以入侵你的電腦了

只有安裝在電腦上的軟體,因為它是跟系統在一起,才可以控制,如果要讓USER列印,我的作法是將資料轉成PDF檔輸出,由Adobe reader去負責列印,或轉成WORD檔,由MS Word去列印

像我們公司提供給會員列印所得稅憑證,也是做成制式格式轉成PDF檔輸出,由USER自行印

我們是要印電子發票,其實我跟我同事也是偏好寫成圖檔的方式去印
因為這樣之後就比較能克服各種機型的問題

只不過我同事之前就先用JAVA寫成機器碼的方式去發送
老闆說暫時先不要改,先試試看PHP能不能像JAVA傳機器碼給印表機

我要發表回答

立即登入回答