如何从主机服务器发送打印作业到本地pc


How to Send a print job from Hosting server to loacal pc?

我需要从打印机打印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,用户应该看到他们自己的本地打印机,并能够从标准客户端打印对话框中选择打印机和任何选项。