• 2

php網頁搭配發票機

其實在google上搜尋php rs232就可以找到一些相關的資料
有一篇寫的還不錯,參考看看:
http://cychiang719.blogspot.com/2008/01/php-rs232.html
因為安全的理由, 所以 Server Side 的程式, 不能存取Client 端的資料, 更別說去控制硬體

你可以在 Client 開發一個程式, 來將你 push 到 client 的資料, 透過這個程式, 再去跟發票機溝通

一個方法是 monitor 網頁的讀取 (像Flashget)

另一個更簡單, 再你的 application 中嵌一個 browser control, 這樣就更方便控制

重點就是, 要透過 client 端程式的幫忙
hello~在google看PHP印表的問題,看到你這篇文章,請問您這問題有解決了,如果您的SERVER 端是win base的,您可以試試php的extension php_printer.dll 就能用PHP輸出印表機了 ,你的是發票機,我也不知能不能成功,只是想說講一下,供您參考看看,如果有成功或槓龜,是否可以分享一下您的結果,謝謝
剛處理完類似 case

1.寫一隻 Windows 程式控制發票機,並且提供 Web service 功能(將 port 設定為特定 port 如 1234)

2.php 要印發票時利用 ajax 與 Windows 溝通,如把單號傳給 Windows 程式

3.Windows 程式收到資料後利用 http 到 server 取列印資料(當然要直接連資料庫也可,看你的規劃)

4.印完後將資訊回傳給 php 網頁(如發票號碼....)


當然要利用 ajax 連結不同網域需要在瀏覽器開啟相關的權限

這樣的方式可以應用於 Internet 上且亦可共用發票機
剛完成類似的CASE

基本上程式不會很難寫

重點是觀念是不是有正確這個比較難

<?php
/*
BY HENRY WP-560 串列介面
發票機*程式(僅驅動發票機)
1.chr()表示為10進位轉成ASCII 可參考購買廠商說明書
2.確定連接線要用廠商的~或是你也可以自己做重點是每個pin的位置對應要相同
3.mode COM1: baud=9600 data=8 stop=1 parity=n 可用cmd下指令查詢
4.確定發票機底下腳位
*/
$fp = fopen ("COM1:", "w+");
if (!$fp)
{
echo "COM1 Port not opened.";
}
else
{
// 初始發票機
$string = chr(27).chr(82);
$string .= chr(27).chr(80).chr(66)." Happy It is sucess".chr(13).chr(10);
$string .= chr(27).chr(80).chr(66)." Printer 1 x 5600 5,600".chr(13).chr(10);
$string .= chr(27).chr(80).chr(66)." pork 20 x 4000 80,000".chr(13).chr(10);
$string .= chr(27).chr(80).chr(66)." table 1 x 800 800".chr(13).chr(10);
$string .= chr(27).chr(80).chr(66)."------------------------".chr(13).chr(10);
$string .= chr(27).chr(80).chr(66)." total: 86,400".chr(13).chr(10);
$string .= chr(27).chr(80).chr(66)." tax: 4,320".chr(13).chr(10);
$string .= chr(27).chr(80).chr(66)."========================".chr(13).chr(10);
$string .= chr(27).chr(80).chr(66)." amount: 90,720".chr(13).chr(10);
echo $string;
fputs ($fp, $string );
fclose ($fp);
}
?>

  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?