2012-12-31 130 views
3

我擁有連接到本地PHP銷售點的Sewoo熱敏打印機。現在,作爲使用PHP一個簡單的打印測試,我寫了下面的代碼:PHP打印Thermal Receipt打印機

<?php 
$handle = printer_open("THERMAL LK-TXXX"); 
$handle = printer_open(); 
?> 

而且我得到了這個錯誤:

Fatal error: Call to undefined function printer_open() in C:\wamp\www\frame\reciept.php on line 2 

我用Wampp作爲我的Web服務器,Windows 7和我爲我的打印機安裝了正確的驅動程序。 我該如何解決這個問題,或者是否有替代「打印」方法使用PHP自動打印而不顯示打印預覽?

謝謝

+2

打印機功能不包括在PHP的默認分配。你需要[安裝它們](http://php.net/manual/en/printer.setup.php)。 – zneak

+0

您確定打印機擴展已安裝? – bear

+0

我假設你使用的是第三方庫,在這種情況下,你需要包含庫:'require_once「printer_library.php」;'在你運行你的函數之前 –

回答

5

一個POS打印機(大部分)不使用Windows打印功能創建的輸出意義上的打印機,那是相當獨立於設備,而只是在串行數據匯打印機的控制語言(我們建立了一個推動非常類似打印機的售票系統)。

一種方法是使用PHP的Win32API擴展名和OpenDriver API,但事實證明這是相當混亂的。最好的辦法是簡單地fopen()打印機端口,並通過fwrite()

+0

你會如何打開打印機端口?他們有沒有「路徑」? – zneak

+0

如何找到打印機端口?請幫忙 ! – Alihamra

+0

根據打印機的連接方式,有很多可能性。如果串行或並行(或打印機內部的USB轉串口),這是很常見的,只需使用'COMn:'。如果它是USB連接的(邏輯上,不僅在物理上)使用諸如http://www.andtechnologies.com/index.php?q=free-software/dosprint –

0

寫PCL數據,因爲沒有安裝打印機擴展你可能會得到這個錯誤。從PHP手冊:

安裝

此»PECL擴展未與PHP捆綁。

Windows用戶必須在php.ini中啓用php_printer.dll才能使用這些功能。此PECL擴展的DLL當前不可用。另請參閱Windows上的建築部分。

安裝說明可以在這裏找到:http://php.net/manual/en/install.windows.building.php