当网络服务器不在本地网络时,如何使用php在我的本地或网络打印机上打印?

时间:2017-03-08 12:27:30

标签: php networking printing local

我已经测试了各种命令,但没有一个对我需要的正面反馈。要在与Web服务器相同的网络上打印,很容易使用shell_exec(),exec(),printer_open()之类的命令......不是我的情况。 我需要直接打印到我的USB打印机和本地网络上的共享打印机;不在WebServer或WebServer网络上的打印机上。如何进行? 我使用php,apache,一个云网络服务器。我的本地网络是带有打印机的PC和带有另一台打印机的笔记本电脑,它们共享并且彼此正常工作。

我试试这个:

$printer = "myprinter";
if($ph = printer_open( $printer ) )
{
 printer_set_option($ph, PRINTER_MODE, "RAW");
 printer_write($ph,"Text to print");
 printer_close($ph);
}

而且:

$impressora = "\\\\10.1.1.50\deskjet";
$handle = printer_open($impressora);
if (!$handle) die("Printer not found!");

echo $handle;
echo "<p>".printer_get_option($handle, PRINTER_DEVICENAME)."</p>";
echo "<p>".printer_get_option($handle, PRINTER_DRIVERVERSION)."</p>";
printer_set_option($handle, PRINTER_MODE, "TEXT");
printer_set_option($handle, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_A4);
printer_set_option($handle, PRINTER_TEXT_ALIGN, PRINTER_TA_CENTER);
printer_write($handle, "TESTE");
printer_close($handle);    

而且:

exec('copy c:\textfile.txt localprinter');
shell_exec('copy c:\textfile.txt \\\\\10.1.1.50\deskjet');

*它可以在我当地的电脑上提示。

谢谢。

1 个答案:

答案 0 :(得分:0)

您的问题不是很清楚,但我了解到您正在尝试从网络服务器打印到 USB 打印机和网络打印机。

您可以查看建议网络打印机端口转发的答案:Print to local network printer using port forwarding.

要对 USB 打印机执行相同操作,您需要将打印机连接到路由器的 USB 端口,如果您的路由器没有 USB 端口,则您需要获得一个迷你打印服务器设备。< /p>