关于使用smsx.cab控件做web打印使用方法(转)

注意:在使用之前先告诉下我的痛苦经历

在做WEB项目是我的JSP页面在jsp文件夹里,我把smsx.cab放在js文件夹里(jsp和js是用级别目录)

在本机上测试可以正确下载控件,但是部署到测试服务器上后无法下载,浏览器报控件名称不可用错误,在网上找了半天资料都没法解决

其实问题是在路径问题

我不敢确定具体原因,但是我最后把smsx控件移到jsp文件夹下,问题就解决了,所以这个地方出错的话,看看路径问题先

<body>

         <!--smsx.cab下载:http://www.meadroid.com/scriptx/-->
  <object id="factory" viewastext  style="display:none"     //就这样写别动
  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" //就这样写别动
  codebase="smsx.cab#Version=6,2,433,70">   //这个是你smsx.cab包在项目中的路径-----最好和你的jsp页面在同一个文件夹下,也有博客说最好在项目的根目录下
  </object>
  <script language="javascript">
    function p_init(header,footer,portrait,l,t,r,b)
  {
       factory.printing.header = "居左显示&b居中显示&b居右显示页码,第&p页/共&P页" ;
       factory.printing.footer = footer;
       factory.printing.portrait = portrait;//true正向,false横向
       factory.printing.leftMargin = l;
       factory.printing.topMargin = t;
       factory.printing.rightMargin = r;
       factory.printing.bottomMargin = b;
  }
  function p_preview()
  {
   factory.printing.Preview();
  }
  function p_pagesetup()
  {
   factory.printing.PageSetup();
  }
  function p_print()
  {
   factory.printing.Print();
  }
  </script>




<!--打印示例-->
<script language="javascript">p_init("页眉","页脚",false,0.75,0.75,0.75,0.75);</script>
<p>web打印示例</p>
<p>web打印示例</p>
<p>
  <input type="button" name="Submit2" value="打印设置" onclick="javascript:p_pagesetup();" />
  <input type="button" name="Submit" value="打印预览" onclick="javascript:p_preview();" />
  <input type="button" name="Submit3" value="打印" onclick="javascript:p_print();" />
</p>

    </body>

第一次使用系统会提示下载控件,下载一次后就可以无限使用

原文地址:https://www.cnblogs.com/zmc/p/3283935.html