转载

基于Web的打印方案比较分析(五)使用ScriptX进行复杂的WEB打印设置 ... ...

在以前的几篇文章里,介绍的都是如何利用IE本身提供的控件在进行打印设置,这种方法有它的局限:不能够以编程的方式进行页面方向的设置,而这有时很重要。下面本道就给大家介绍一下,如何使用一个叫ScriptX的控件来进行复杂一点的打印设置。

 

ScriptX是一个叫MeadCo的国外公司的产品,它分为基础版(免费)和高级版(收费),基础版可以对 页眉,页脚,页边距,纸张方向进行设置。高级版有一些额外的功能,由于是收费的,需要付费以后才能用到你系统中,这里就不介绍了。

 

ScriptX的最新版是6.4,可以在以下地址下载。ScriptX 6.4打印控件下载

 

下载以后是一个smsx.cab文件,把它放到你的应用目录下,例如/study/smsx.cab。
下面通过一个例子来讲解它的功能和使用。

  1. <html>  
  2. <object id=factory style="display:none"  
  3.   classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"  
  4.   codebase="http://ajava.org/study/smsx.cab#Version=6,4,438,06">  
  5. </object>  
  6.   
  7. <script>  
  8. function printWindow() {   
  9. factory.printing.header = "使用ScriptX进行打印设置";   
  10. factory.printing.footer = "AJava.org出品";   
  11. factory.printing.portrait = false;//设为true就是横向   
  12. factory.printing.leftMargin = 1.0;   
  13. factory.printing.topMargin = 1.0;   
  14. factory.printing.rightMargin = 1.0;   
  15. factory.printing.bottomMargin = 1.0;   
  16. }   
  17. printWindow();   
  18. </script>  
  19.   
  20. <input  type="button" value="打印本页"  onclick="factory.printing.Print(true)">  
  21.  <input  type="button" value="打印目标框架页"  onclick="factory.printing.Print(true, idFrame)">  
  22.  <input  type="button" value="打印设置..."  onclick="factory.printing.PageSetup()">  
  23.  <input   type="button" value="打印预览..."  onclick="factory.printing.Preview()">  
  24.   
  25.  <iframe name="idFrame" width="100%" height="60%" src="http://www.baidu.com">  
  26.  </html>  

factory.printing.Print(true),这里设置成true或false,我没有发现有什么不同的效果。它的原意是直接打印。

factory.printing.Print(true, idFrame),第一个参数同上,第二个参数是目标框架的name。

factory.printing.PageSetup()是调出页面设置窗口。

factory.printing.Preview()是调出页面预览窗口。

其他的代码很简单,不需要解释什么。

 

ScriptX有一点不好的地方,在IE里装了这个控件以后,打印预览时的界面是英文的了。如果你的用户对此会反感,建议你不要用ScriptX。可是用以前介绍的几种方法,都不能以编程方式进行纸张方向的设置,那该怎么办呢?请看《[AJava原创]WEB打印系列教程之六--使用jatoolsPrinter控件进行WEB打印设置》

 

转载请注明:转自http://ajava.org,请保留文章的完整。

正文到此结束
Loading...