1.寫一隻 Windows 程式控制發票機,並且提供 Web service 功能(將 port 設定為特定 port 如 1234)
2.php 要印發票時利用 ajax 與 Windows 溝通,如把單號傳給 Windows 程式
3.Windows 程式收到資料後利用 http 到 server 取列印資料(當然要直接連資料庫也可,看你的規劃)
4.印完後將資訊回傳給 php 網頁(如發票號碼....)
當然要利用 ajax 連結不同網域需要在瀏覽器開啟相關的權限
這樣的方式可以應用於 Internet 上且亦可共用發票機
基本上程式不會很難寫
重點是觀念是不是有正確這個比較難
<?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);
}
?>
內文搜尋

X