2012-05-30 180 views
0

我怎麼能打印通過PHP腳本我的HTML文件?我只是想在沒有任何提示的情況下在後臺運行它。我已閱讀其他職位,但仍沒有發現任何工作。 我想這一個:服務器端打印

<?php 
$dir = "temp"; // the folder that you are storing the file to be printed 
$file = "file.html"; //change to proper file name 
$file_dir = $dir.$file; 
$server = "home_computer"; //name of the computer you are printing to on your network 
$printer = "HP"; //printers shared name 
$command = "print $file_dir /d:\\$server\\$printer"; 
exec($command) or die("File failed to print"); 
?> 

得到了這個例子在這裏http://www.phpfreaks.com/forums/index.php/topic,207946.0.html

+0

@Smamatti這些功能比查克·諾里斯老。沒有冒犯查克。 –

+0

這是真的,但我沒有找到任何新版本,他們應該工作,他們沒有被標記爲已棄用。那麼你的觀點是什麼? – Smamatti

+0

這是winblows。對於正常的操作系統,你需要使用exec函數執行'lpr',例如... –

回答

3

這裏是我得到的工作:

$html = "testing print"; 
$handle = printer_open(); 
printer_set_option($handle, PRINTER_MODE, "RAW"); 
printer_write($handle, $html); 
printer_close($handle); 

我們需要php_printer.dll PHP擴展,使在PHP5這項工作。 :)

2

不能打印與PHP的HTML頁面。 Php是服務器端語言,它在服務器上運行。

打印機是客戶端的機器上。這意味着你需要一種客戶端語言來實現這一點。

+1

也許他想在特定的客戶端操作服務器打印的東西嗎? – Smamatti

+0

我必須在腳本所在的同一臺機器上執行此操作。 –

+0

@salman你究竟想要做什麼?你想要在服務器上的客戶端打印HTML頁面?你想達到什麼目的? –

0

如果你要打印的源代碼,那麼應該是通過編寫打印傳遞的字符串的程序,然後通過系統調用它是可行的。在Windows上它似乎有一個擴展。

如果你想打印渲染的版本,那麼你必須知道,你需要某種渲染引擎。雖然不是不可能,但它可能比你想要的更多的工作。