网页打印是很多BS系统都会碰到的问题,上一篇探讨了网页打印相对于A4纸的宽高,本篇来说说具体的打印页面应该由哪些基本要素构建…
首先,打印页面是为了将WEB页面中需要打印的内容输出到打印机,并保证打印效果符合用户预想。那么打印页面个人以为至少要符合以下要求:
1、页面显示内容应该尽可能的与打印效果相符,如果因特殊原因只能放任显示的差异,那么至少要另外提供一个预览页面供用户查阅打印输出内容;
2. 打印控制,包括但不限于“页面设置、预览、打印”等操作;
打印工具条我们可以采用IE的一款未公开的控件进行打印控制。控件 CLSID:8856F961-340A-11D0-A96B-00C04FD705A2
网页打印本来就是很尴尬的解决方案,所以,我们的多浏览器兼容性也就不用考虑那么细致了,IE6/7即可,相信这个要求也不是很苛刻。而打印页面的内容理所当然使用css控制,对于页面中一些不想打印出来的内容,则使用css 的打印标签 @media print{}
例如:
@media print{
.noprint {display:none;}
}
对于不想打印的段落,层,表格,我们设定其noprint样式即可。
打印控制代码如下:
<script language="javascript">
function Print() {
if(confirm("确认要打印吗?")) {
document.all.wb.execwb(6,6);
}
}
function PrintView() {
document.all.wb.execwb(7,1);
}
function PrintSetUp() {
document.all.wb.execwb(8,1);
}
function CloseWindow() {
document.all.wb.execwb(45,1);
window.close();
}
</script>
<!–控件加载–>
<script type="text/javascript">
AC_AX_RunContent( 'id','wb','height','2','width','3','classid','CLSID:8856F961-340A-11D0-A96B-00C04FD705A2','name','wb','viewastext','VIEWASTEXT' ); //end AC code
</script>
<noscript>
<OBJECT id="wb" height="2" width="3" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" name="wb" VIEWASTEXT></OBJECT>
</noscript>
关于 AC_AX_RunContent()函数的说明,该函数是DW的内置库,用于兼容浏览器的,该库文件我在附件中贴出。
打印相关代码使用示例如下:
<a href="#" title="页面设置" onclick="PrintSetUp()" />
<a href="#" title="预览" onclick="PrintView()" />
<a href="#" title="打印" onclick="Print()" />
<a href="#" title="关闭" onclick="CloseWindow();" />
综合以上几步,我们即可以生成完整滴打印界面。
附件:AC_AX_RunContent() 需要引用两个js文件
1、AC_RunActiveContent.js
2、AC_ActiveX.js
点击下载此文件
Like this:
Be the first to like this post.