其实我想用下面的代码示例打印内容。
$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.
答案 0 :(得分:24)
<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>