使用php中的printer_open()函数,我能够打印我在$content变量中保存的字符串,并能够从文件中打印。
$printer = "\\\\Pserver.php.net\\printername";
$handler = printer_open($printer);
$content = "Test Content"; //string
printer_write($handler, $content);
printer_close($handler); 但是有一个从数据库中生成的html输出,并且显示在网页中,我需要在页面加载后直接打印到相同格式的输出,我尝试了很多,但是我不知道我应该做什么来使打印机在页面使用printer_open()加载后直接打印相同的HTML输出。
我该怎么办?如果有的话,请提出比这更好的方法。
已更新
我不想使用javascript的windows.print()方法,因为它显示了打印对话框,而不是直接向打印机启动打印作业。
我希望用户点击submit表单和打印机直接打印收据,而不问他们任何问题。
发布于 2013-09-20 08:16:48
您可以尝试使用输出缓冲区:
ob_start();
// generate your output from the DB here
// .....
// Send generated output to the printer
printer_write($handler, ob_get_contents());
// And show it to client on the frontend
ob_end_flush();发布于 2013-11-27 14:43:37
创建一个带有自动焦点( html 5功能的浏览器所需)的隐藏字段,并触发带有html onblur属性(如果用户单击任何其他表单元素的输出)或特定表单元素(按钮)上的on福克斯属性的打印输出。不要提交表单,因为这会导致页面重新加载.
发布于 2014-10-03 13:57:36
正如我理解你的问题,你试图渲染HTML,然后打印它。不幸的是,如果您呈现它的客户端,您将需要打印它客户端-这将启动打印对话框。
您可以在服务器上运行PhantomJS来呈现HTML,保存快照并打印出来,但这听起来像是为了打印发票而造成的巨大的过度浪费。
也许更好的方法是生成一个PDF并打印出来。
https://stackoverflow.com/questions/18118533
复制相似问题