网页的横向打印的三种方案(print your page landscape)

关于网页打印,window.print()提供的功能离远离一般的需求,很多情况下需要编程扩展

目前网上有很多关于网页打印的,但大多采用了ActiveX控件或IE内置的一些Object,由于ActiveX的安全性因素,实用性大打折扣

关于网页的横向打印,确切的说,使用标准JS或CSS方法是不可行的,然而,我们可以根据需求来考虑以下三种方案

方案一:CSS滤镜实现

MS为IE浏览器(5.0以上)提供了一套不错的CSS滤镜,能够实现很多效果(见http://www.cnblogs.com/blodfox777/archive/2008/08/14/1267679.html),我们可以利用它和CSS的打印@media来使页面布局,从而模拟横向打印:

 

Code

 

方案二:替换页面

上面的方法只是模拟,而不能等同于真正的"文件"-->"打印"中设置的横打,而且只能在IE中使用,接下来的方法是通过DHTML4和JS1.2 (IE4以上支持)来实现替换打印,也就是说预先做好另一个专门用来打印的页面B,在打印页面A时,实则打印页面B(甚至可以是B.doc),代码很简单,如下:

这个方案虽然比较麻烦,但应该能够兼容各种浏览器吧

Code

 

方案三:ActiveX控件

实在不行的话,就使用ActiveX控件吧,由于ActiveX控件安全性、版权、兼容性等原因,我个人不是很喜欢,但一些打印控件,比如ScriptX做的确实非常好,下面有一段ScriptX控制打印的例子:

 

Code

 

 Lance Zhang

posted @ 2008-09-16 17:40  LanceZhang  阅读(26381)  评论(0编辑  收藏  举报