html
<!--startprint1-->
<div>要打印的内容</div>
<!--endprint1-->
<div class="button_box tc_c">
<button class="btn btn-ghost" ng-click="preview(1)">打 印</button>
</div>
js
$scope.preview =function (oper){
$scope.printPage(oper); }
$scope.printPage =function (oper){
if (oper < 10){
bdhtml=window.document.body.innerHTML;//获取当前页的html代码
sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
window.document.body.innerHTML=prnhtml;
document.getElementsByTagName("body")[0].style.height = document.body.scrollHeight+"px";// 这句话很重要
document.getElementsByTagName("body")[0].style.width = document.body.scrollWidth+"px";// 这句话很重要就是由于高度和宽度
不够才打印不全 由于我这个页面是不完整的页面是嵌在body里面的页面 是组件化页面
console.log(prnhtml)
window.print();
window.document.body.innerHTML=bdhtml;
} else {
window.print();
}
window.location.reload()}