时间线

My Life My Style

网页打印基本要素

网页打印是很多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
下载文件 点击下载此文件

发表评论

Fill in your details below or click an icon to log in:

Gravatar
WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Connecting to %s

加关注

Get every new post delivered to your Inbox.