页面打印的相关问题。
1.使用js自带的打印方式,window.print()方式进行打印。
去除页眉页脚,设置横向纵向或者A3等,在style上增加@page样式。
<style>
@page {
size:auto;
margin: 0mm;
}
</style>
size:landscape(横向)或者size:A3(A3) .
2.打印指定区域的div内容,使用printarea插件
引入js:
<script language="javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="jquery.PrintArea.js"></script>
html引用:
<div class="my_show">
这个是打印时显示的。
</div>
<div class="my_hidden">
这个是打印时隐藏的。
</div>
<input type="button" id="print"/>
js调用:
$(document).ready(function(){
$("#print").click(function(){
$(".my_show").printArea();
});
});
此方式,在页面宽度足够宽时,打印依然会超出页面。
3.打印iframe的内容
<input type="button" value="打印此页面" onclick="printpage()" />
<div style="height:800px;width:800px;">
<iframe style="height:100%;width:100%;" src="https://www.runoob.com" id="test"/>
</div>
js方法:
function printpage(){
var iframe = document.getElementById('test');
iframe.contentWindow.focus();//获取焦点
iframe.contentWindow.print();
}
这种情况,在跨域的情况下,并不能实现跨域打印,跨域情况将打印功能加载子页面
可以通过url方式,增加isPrint=1参数,当进入子页面时进行判断,判断该参数,值是否为1直接进行打印操作。同样增加子页面增加打印按钮也能实现打印功能。
if(window.location.href.indexOf('isPdfPrint=1')>0){
setTimeout(function(){
window.print();
},200)
}