我試圖設置一個CLI PHP應用程序來將一組網頁打印到默認或指定的打印機。我使用的是運行在CLI中的PHP 5.2.11的Windows 7機器。要測試打印功能,我已經加載了PHP_printer.dll,並且正在使用PRINTER_ENUM_LOCAL中提供的確切打印機名稱打印到Onenote,一個打印到文件選項。
更新:這是最新的代碼:在PHP中打印到打印機
$handle = printer_open("Send To OneNote 2010");
printer_start_doc($handle, "My Document");
printer_start_page($handle);
$filename='index.html';
$fhandle=fopen($filename, 'r');
$contents = fread($fhandle, filesize($filename));
fclose($fhandle);
printer_set_option($handle, PRINTER_MODE, "RAW");
printer_write($handle,$contents);
printer_end_page($handle);
printer_end_doc($handle);
printer_close($handle);
我已經得到這個代碼打印空白頁到正確的打印機,但我無法打印我傳遞給printer_write字符串。我確認$contents
正確填寫了我的測試html文件的內容。無論我提供什麼作爲第二個參數(要打印的字符串),我都會看到一個空白頁。是否有我缺少的東西,至少讓我在網頁上打印一些文字?
或者是有沒有更好的辦法做到這一點(使用PHP/javascript文件)?我試圖做的是通過CLI應用程序打印出現的網頁(包括CSS),網站用PHP編寫,我試圖最大限度地減少複雜性。如果有更好的方式來打印這些(轉換爲PDF和打印顯然是一個選項),我打開它,但它聽起來像這是PHP中最簡單的/事實上的方法。
感謝小費,這是一個不行,但我們必須得到服務器版本,因爲它是一個自動化的過程。 –