方案一:ScriptX打印组件


  方案一:ScriptX打印组件
  方案二:WsReport打印组件
  我们首先来说一下方案一:
  听说这个组件已经是2006年的事情了,那时候自己为了开发一个事业单位的办证系统用到了定制格式打印功能,为了解决此问题,因此在破解了wsreport组件,并且在CSDN中对外公布了出来,没想到这一公布颇具波澜,很多朋友纷纷向我索要此组件,其中有一位朋友提到了这个scriptx,说其功能如何强大,可惜是美国人开发的,读不懂英文,所以没有办法使用。因此让我来研究一下,但是一直以来我的时间一向比较紧迫,所以直到今天用到此组件的时候才不得已啃了这块硬骨头,当你进入scriptx的官方网站的时候,看了他的使用说明会让你一头雾水,莫不这头脑,并且如果按照他提供的实例程序来运行测试程序,也是根本就不能通过的,看了半天让我晕晕乎乎的摸不着北。
  最后不得已,只有放弃官方的使用说明,然后结合自己的经验进行测试,当然结果是可想而知的,最终是成功了。我所采用的方法是仅仅使用官方提供的最新版本的.cab文件,cab文件是一个封包文件,该文件往往包含多个文件在其内,即通常所说的客户端activex,当用户第一次浏览网站的时候,该cab文件会自动下载并安装到客户端的电脑上,务须在服务器端注册,因此使用非常简单。闲话少叙,言归正传,让我们首先去官方下载cab文件,然后看如下代码就明白了。
  
  
  
  //用于设置打印参数
  function printBase() {
  factory.printing.footer = "页眉"   //页眉
  factory.printing.footer = "页脚"   //页脚
  factory.printing.portrait = false   //true为纵向打印,false为横向打印
  factory.printing.leftMargin = 1.5   //左页边距
  factory.printing.topMargin = 0.5   //上页边距
  factory.printing.rightMargin = 0.5   //右页边距
  factory.printing.bottomMargin = 1.0   //下页边距
  }
  //用于调用设置打印参数的方法和显示预览界面
  function printReport(){
  printBase();
  //window.print();
  factory.printing.Preview();
  }
  //使界面最大化
  maxWin();
  function maxWin()
  {
  var aw = screen.availWidth;
  var ah = screen.availHeight;
  window.moveTo(0, 0);
  window.resizeTo(aw, ah);
  }
  
  
  
  
  
  
  查询打印
  
  
  
  
  
  

你可能感兴趣的:(script)