2014-09-30 51 views
2

其实我想用下面的代码示例打印内容。如何在PHP中使用与window.print()相同的打印机打印页面作品

$ html有我想要打印的所有HTML,但不在浏览器中显示视图,也不在浏览器中显示/显示。

我试图找到一种与window.print();相同的方法。但在PHP中需要。我不想在浏览器中显示所有的HTML。

有什么方法或招数? 任何建议可以帮助我很多。 谢谢。

我的示例代码:

$arr = array('one','two','three','four','five'); 
$html = "<div style='background:red;color:black;'>"; 
foreach($arr as $value){ 
    $html .= $value.'<br />'; 
} 
$html .= "</div>"; 

// print code to print $html content as same as JS window.print() works. 
+3

由于PHP是一个服务器端应用程序,我不认为它可以打印照片,无需Javascript功能来帮助它。 – Rasclatt 2014-09-30 06:55:24

回答

18
<script type="text/javascript">  
    function PrintDiv() {  
     var divToPrint = document.getElementById('divToPrint'); 
     var popupWin = window.open('', '_blank', 'width=300,height=300'); 
     popupWin.document.open(); 
     popupWin.document.write('<html><body onload="window.print()">' + divToPrint.innerHTML + '</html>'); 
     popupWin.document.close(); 
      } 
</script> 




<div id="divToPrint" style="display:none;"> 
    <div style="width:200px;height:300px;background-color:teal;"> 
      <?php echo $html; ?>  
    </div> 
</div> 
<div> 
    <input type="button" value="print" onclick="PrintDiv();" /> 
</div> 
+2

这是一个很棒的解决方案。这对我帮助很大。 – 2015-08-12 08:43:26