我需要在laravel上的特定div中打印整个内容。到目前为止,我可以用javascript打印这个div标签。但结果并不是那么好,因为打印时不包括css。有没有更好的方法来完成这件事?这是我的代码。
<div id="reportPrinting">
<div class="row pt-50">
<div class="col-sm-10 col-sm-offset-1">
//i cut this part because it to long
</div>
</div>
</div>
<form>
<input type="button" value="Print this page" onClick="printReport()">
</form>
<script type="text/javascript">
function printReport()
{
var prtContent = document.getElementById("reportPrinting");
var WinPrint = window.open();
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
}
</script>
我使用“打印此页面”按钮来触发打印过程。
答案 0 :(得分:2)
您需要将css写入文档,并将screen
更改为print
(或all
)以使css正常工作:
document.write( "<link rel='stylesheet' href='style.css' type='text/css' media='print'/>" );