PHP - 通过网络将内容打印到本地打印机

时间:2014-02-05 19:28:40

标签: php button printing submit

我想通过网络打印机发送一些输出:

$printoutput .="<tr><td width='10%'> Item #". ($i+1) ."</td></tr> 
                            <tr width='20%'><td>  " . $product_name . " --&nbsp;$" . $price . ".00</td></tr>
                            <tr><td width='40%'>" . $displayoptions . "</td>
                            <tr><td>&nbsp;</td></tr>";

当我回显printoutput变量时,上面的所有内容都完美地在我的脚本中运行。此信息是用户选择的收据。我想要做的是创建一个按钮,它将自动通过$printoutput发送到本地网络打印机。

我希望它尽可能简单,没有任何打印对话框 - 一个简单的点击按钮,将数据发送到本地网络打印机。

我一直在网上研究,并没有真正找到任何有用的东西。 onClick="window.print()"功能打开一个打印对话框屏幕,然后只在页面上打印该内容。

我在PHP手册中查看了printer_open,但我不确定我是否朝着正确的方向前进。有人对这个有经验么?任何帮助将不胜感激。任何可以引导我朝着正确方向发展的代码都会更好。

1 个答案:

答案 0 :(得分:0)

如果打印机真的是“本地”并且它连接到运行PHP的服务器,而服务器是Linux,则可以执行以下操作:

$cmd = 'echo '.$printoutput.' | lpr';

$response = shell_exec($cmd);

如果您正在尝试打印到“远程”打印机,即打印机连接到运行浏览器的计算机,或者您希望浏览器在打印前呈现HTML,我恐怕Javascript的窗口.print()几乎是你唯一的选择。出于安全原因,它总是弹出“打印机选择”窗口。