我需要从打印机打印php的帮助。我尝试了一些代码来打印其在本地主机上的工作,但上传后没有显示或执行任何操作。我使用的代码
$getprt=printer_list( PRINTER_ENUM_LOCAL );
//echo 'printer list'.json_encode($getprt).'<br />';
$printer = $getprt[4]['NAME'];
echo $printer;
if($ph = printer_open($printer))
{
// Get file contents
$fh = fopen("filename.txt", "rb");
$content = fread($fh, filesize("filename.txt"));
fclose($fh);
// Set print mode to RAW and send PDF to printer
printer_set_option($ph, PRINTER_MODE, "RAW");
printer_write($ph, $content);
printer_close($ph)
显示了本地主机上的打印机,但是当我上传并调用这个页面时,它既不显示也不执行任何操作。实际上,我想从打印机列表中选择打印,但为了测试,我手动设置它,当我运行网站表单localhost而不是表单托管服务器时,该列表显示。请帮我解决这个问题。我没有经验。
请记住PHP运行在服务器上,而不是在客户端PC上。所以你的代码正在寻找打印机在你的主机包,没有任何,即使有,他们将是无用的网站用户。
您需要在浏览器中使用一些javascript来完成此操作。
使用javascript,你可以让浏览器加载标准打印对话框,像这样
<script type="text/javascript">
window.print();
<script>
但是,这只是打印当前页面。所以你必须重新开发这个过程,这样你就能得到一个看起来像用户想要的打印的网页。
然后在页面底部添加上面的Javascript,用户应该看到他们自己的本地打印机,并能够从标准客户端打印对话框中选择打印机和任何选项。