最近做到了web页面课程表打印时,上网找了一些资料,最后使用了下面的方法实现了我需要的功能。将需要打印的课程表的table放入div标签中,然后指定出需要打印的区域,最后调用window.print打印指定内容。
示例代码(代码中有些内容已省略)
复制代码 代码如下:
function preview() {
bdhtml = window.document.body.innerHTML;
sprnstr = "<!--startprint-->";
eprnstr = "<!--endprint-->";
prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17);
prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr));
window.document.body.innerHTML = prnhtml;
window.print();
}
上面的是javascript代码,下面是html页面代码
复制代码 代码如下:
<div class="print">
<input type= "button" value= "打印课表" onclick= "preview()"/>
</div>
<div class="result">
课程表查询结果
</div>
<center>本部分以下被打印</center>
<!--startprint-->
<div class="timetable">
<table id="table1" class ="tableresult"style="margin-left :auto;margin-right:auto;">
<tr >
<th> </th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
<th>星期四</th>
<th>星期五</th>
<th>星期六</th>
<th>星期日</th>
</tr>
<tr >
<th> 1,2 节</th>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td></td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td></td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td></td>
<td></td>
</tr>
<tr >
<th> 3,4 节</th>
<td></td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td></td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td></td>
<td></td>
</tr>
<tr >
<th> 5,6 节</th>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td></td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td>信息技术<br>数信学院<br>501机房<br>生物专业</td>
</tr>
<tr >
<th> 7,8 节</th>
<td></td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td>大学信息技术课<br>数信学院<br>501机房<br>生物专业</td>
<td></td>
<td></td>
</tr>
</table>
</div>
<!--endprint-->
<center>本部分以上被打印</center>