我有一个页面,其中包含3个div,我想分别打印-我可以手动进行打印。但是,该Webapp运行的Chrome具有无声打印功能,我需要在3个单独的打印作业中打印这3个div。我不需要打印样式表-需要3个独立的打印作业...
所以我需要多次触发window.print()。我想出的最好和唯一的解决方案是触发我的打印功能3次,如下所示:
setTimeout(function() { printContent('print1', 'letter'); }, 0);
setTimeout(function() { printContent('print2', 'letter'); }, 1);
setTimeout(function() { printContent('print3', 'letter'); }, 2);
但是,某些Chrome浏览器无法运行该功能3次。如何确定该函数连续被正确触发3次?
如果有人发现它有趣,我的printContent()函数是这样的:
function printContent(divContent, divClass) {
var divContent = $('#' + divContent).html();
$('#print-spooler-box').html('').addClass(divClass).html(divContent);
window.print();
$('#print-spooler-box').removeClass(divClass);
}
您可以通过编辑打印CSS避免多次打印。
您可以使用媒体查询或media
属性(在<link>
元素中)来指定打印样式。
<div class="new-page">
<p>page one</p>
</div>
<div class="new-page">
<p>page two</p>
</div>
然后在您的CSS中:
.new-page{
page-break-before: always;
}
您解决了这个问题吗?
我也需要在不同的打印任务作业中打印单独的内容。
感谢