如何在 PHP 中打印页面以使用与 window.print() 相同的打印机进行打印

2021-12-28 00:00:00 printing php javascript html

实际上我想用下面的代码示例打印内容.

$html 拥有我想要打印的所有 HTML,而无需在浏览器中呈现视图,也无需在浏览器中打印/显示.

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

有什么方法或技巧吗?任何建议都可以帮助我很多.谢谢.

我的示例代码:

$arr = array('one','two','three','four','five');$html = "<div style='background:red;color:black;'>";foreach($arr 作为 $value){$html .= $value.'<br/>';}$html .= "</div>";//打印代码以打印 $html 内容,与 JS window.print() 的工作原理相同.

解决方案

 <div id="divToPrint" style="display:none;"><div style="width:200px;height:300px;background-color:teal;"><?php echo $html;?>

<div><input type="button" value="print" onclick="PrintDiv();"/>

Actually i want to print the content with below code sample.

$html having my all HTML which i want to print without render a View in Browser and without print/show in browser.

I am trying to find a Same method as window.print(); works. But need in PHP. I don't want to show all the HTML in Browser.

Is there any method or Trick ? Any suggestion can help me lot. Thank you.

My Sample Code:

$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.

解决方案

 <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>

相关文章