我正在一个项目上,我想打印div内容.我正在使用的代码可以满足我的要求,但是我得到的输出很简单,没有应用Css,也没有得到图像.请帮助我.我要附加代码并输出我想要的输出.
I am working on a project and I want to print div content.The code which I am using is fulfilling my requirements,but I am getting simple output without Css applied to it and also not getting the image.Please help me.I am attaching the code and output I am getting and output I want.
代码:
function PrintElem(elem) { Popup($(elem).html()); } function Popup(data) { var mywindow = window.open('', 'new div', 'height=400,width=600'); mywindow.document.write('<html><head><title></title>'); mywindow.document.write('<link rel="stylesheet" href="css/midday_receipt.css" type="text/css" />'); mywindow.document.write('</head><body >'); mywindow.document.write(data); mywindow.document.write('</body></html>'); mywindow.print(); mywindow.close(); return true; }
我在单击打印按钮之前得到的输出:
Output I am getting before clicking print button:
我通过单击打印按钮得到的输出:
Output I am getting by clicking print button:
推荐答案如果要渲染CSS,则必须在打印之前添加超时,因为将CSS应用于HTML需要花费一些时间,然后您就可以进行打印.
If you wanna render the CSS you must add a timeout before printing it because it takes some time for CSS to be applied to the HTML and then you will be able to print it.
尝试一下:
function Popup(data) { var mywindow = window.open('', 'new div', 'height=400,width=600'); mywindow.document.write('<html><head><title></title>'); mywindow.document.write('<link rel="stylesheet" href="css/midday_receipt.css" type="text/css" />'); mywindow.document.write('</head><body >'); mywindow.document.write(data); mywindow.document.write('</body></html>'); mywindow.document.close(); mywindow.focus(); setTimeout(function(){mywindow.print();},1000); mywindow.close(); return true; }更多推荐
在应用CSS的情况下打印div内容
发布评论