My Little World

打印文件

打印文件

关键语句:Window.print();

1
2
3
4
5
6
7
$scope.print= function(){
$("#noprint").css('display','none');
$("#print").css('display','block');
window.print();
$("#print").css('display','none');
$("#noprint").css('display','block');
}

一个具有打印功能的HTML代码地址

浏览器分页打印

在需要分页的地方插入语句

1
2
3
4
5
<div class="PageNext" ng-if='$index<printdata.length-1'></div>
.PageNext
{
page-break-after: always;
}

例如打印多个表格,每一张表格内容的分页由浏览器决定,但是A表格结束到B表格开始,B表格另起一页开始打印由添加的语句决定
另外,打印一张表格当内容产生多页时,将表名放在thead中可以使表名打印在该表的每一页上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<div ng-repeat="line in printdata" class="row"><!--打印多张表-->
<table width="98%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#000000" class="tabp">
<thead>
<tr><!-- 表名,合并单元格,去边框-->
<td colspan="3" style="border: 1px solid #fff;border-bottom-color: black;">
<span style="float: left">日期:{{date}}</span><span>{{line.line_title}}</span>
</td>
</tr>
<tr>
<th width="5%"> 序号 </th>
<th width="13"> 分类 </th>
<th width="82%"> 明细</th>
</tr>
</thead>
<tbody>
<tr ng-if="line.columns.length>0" ng-repeat="item in line.columns">
<td>{{$index+1}}</td>
<td>{{item.column_name}}</td>
<td style="text-align: left"><span ng-repeat="bar in item.products">{{bar.name}}x{{bar.count}}<i class="fa fa-square-o"></i>, </span></td>
</tr>
</tbody>
</table>
<hr align="center" width="98%" size="1" noshade class="NOPRINT" ng-if='$index<printdata.length-1'><!--下划线做装饰 -->
<div class="PageNext" ng-if='$index<printdata.length-1'></div><!--每一个表结束,另起一页打印下一个表-->
</div>
<style type="text/css">
.PageNext
{
page-break-after: always;
}
</style>