我已经测试了各种命令,但没有一个对我需要的正面反馈。要在与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');
*它可以在我当地的电脑上提示。
谢谢。
答案 0 :(得分:0)
您的问题不是很清楚,但我了解到您正在尝试从网络服务器打印到 USB 打印机和网络打印机。
您可以查看建议网络打印机端口转发的答案:Print to local network printer using port forwarding.
要对 USB 打印机执行相同操作,您需要将打印机连接到路由器的 USB 端口,如果您的路由器没有 USB 端口,则您需要获得一个迷你打印服务器设备。< /p>