在web上实现打印,通过下列两个方法:
1.在html中插入Object.
<html>
<head>
</head>
<body >
<center class="Noprint" >
  <p>
  <OBJECT  id=WebBrowser  classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  height=0  width=0>
  </OBJECT>
  <input  type=button  value=页面设置  onclick=document.all.WebBrowser.ExecWB(8,1)>
  <input  type=button  value=打印预览  onclick=document.all.WebBrowser.ExecWB(7,1)>
</body>
</html>
问题:在asp.net的html编辑器中,直接插入Object,它总是自动在object之间加入<PARAM NAME="ExtentX" VALUE="26">
<PARAM NAME="ExtentY" VALUE="26">
<PARAM NAME="ViewMode" VALUE="0">
<PARAM NAME="Offline" VALUE="0">
<PARAM NAME="Location" VALUE="res://C:\WINNT\system32\shdoclc.dll/dnserror.htm#http:///">等众多参数,请问什么意思,怎么去掉这些参数(因为它影响正常工作,在点击按钮时显示没有权限)2.CsystalReport10
安装了CsystalReport10后,在aps.net中看不到什么变化:具介绍在10的版本中有个DHTML查看器,我把工具箱找了遍,还是找不到。
还有托动一个CrystalReportView控件到web页上,查看引用,还是引用VS2003自代的9.1.5版本。
听说10版本可以直接支持web打印,不需要在导出到PDF了

解决方案 »

  1.   

    Microsoft SQL Server 2000 Reporting Services Enterprise Edition专门设置一台报表服务器,用vs.net2003设计报表。
      

  2.   

    这是我从网上收集到的,不过没用过,你试试吧简单懂得 HTML CSS 即可。
    下面样式只在打印时有用 <style media=print>
    <style media=print>
    .Noprint{display:none;}
    .PageNext{page-break-after: always;}
    </style>WebBrowser 控件对象。只要是 win98 以上版本都有。
    其实配合“分页样式表”,和 HTML表格 一般的打印都可以实现的。如果想对 非Windows平台用户使用。
    请去掉下面这些:
    <center class="Noprint" >
      <p>
    <!--最主要是这个-->
      <OBJECT  id=WebBrowser  classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2  height=0  width=0>
      </OBJECT>
      <input  type=button  value=打印          onclick=document.all.WebBrowser.ExecWB(6,1)>
      <input  type=button  value=直接打印  onclick=document.all.WebBrowser.ExecWB(6,6)>
      <input  type=button  value=页面设置  onclick=document.all.WebBrowser.ExecWB(8,1)>
    </p>
      <p>    <input  type=button  value=打印预览  onclick=document.all.WebBrowser.ExecWB(7,1)>
        <br/>
        </p>
      <hr align="center" width="90%" size="1" noshade>
    </center>
      

  3.   

    在vs.net 中,那些参数经常自动加上。郁闷。
      

  4.   

    我也遇到了啊
    vs自动生成的好多代码
    http://community.csdn.net/Expert/topic/3106/3106272.xml?temp=.607815
      

  5.   

    这个问题我也遇到,只能删除,并且不能再切块到HTML ,否则自动加上
      

  6.   

    http://www.cnblogs.com/willpower/articles/16116.aspx   这篇文章的决计方案很好;大家可以看看 对web打印来说是现在最完美的(我认为)
      

  7.   

    reporting service 真烦人,刚刚装上,碰到好几个问题最后都找到某篇msdn的文章说:microsoft has confirmed this is a bug... :(
      

  8.   

    自己顶一下。怎么没有人谈到水晶报表啊。
    CryinstalResport10 支持web打印吗?
      

  9.   

    哪位谈谈打印的原理在web 程序一 。
      

  10.   

    手工删掉
    <PARAM NAME="ExtentX" VALUE="26">
    <PARAM NAME="ExtentY" VALUE="26">
    <PARAM NAME="ViewMode" VALUE="0">
    <PARAM NAME="Offline" VALUE="0">
    <PARAM NAME="Location" VALUE="res://C:\WINNT\system32\shdoclc.dll/dnserror.htm#http:///">
      

  11.   

    CryinstalResport10 企业版支持web打印,只要将printmode由默认的pdf改成activex就可以在客户端打印了.需要在客户端安装一个插件,这个插件是由CryinstalResport10 在按打印按钮时自动提供的
      

  12.   

    我在VS中怎么找不到CryinstalResport10打印的控件啊,在VS中新建项目,创建CryinstalResport还是引用它自代的9.1.5。请问 cansum396,怎么在VS中引用新安装上的CryinstalResport10
      

  13.   

    http://www.onlinedown.net/soft/31109.htm
      

  14.   

    可以用以下方法解决,不会有安全提示:<script language=javascript>
    <!--
    function PrintPage()
    {
    try
    {
    var str  ='<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT></OBJECT>';
    if(typeof(WebBrowser)!="object") 
    {
    document.body.insertAdjacentHTML("beforeEnd", str);
    document.getElementById("WebBrowser").ExecWB(6,1);
    }
    //document.all.WebBrowser.ExecWB(6,1);
    }catch(e){}
    }
    //-->
    </script>
    <INPUT  type="button" onclick="PrintPage()" value="打印">
      

  15.   

    不好意思,“document.getElementById("WebBrowser").ExecWB(6,1);”应该放在 if 外if(typeof(WebBrowser)!="object") 
    {
        document.body.insertAdjacentHTML("beforeEnd", str);
    }
    document.getElementById("WebBrowser").ExecWB(6,1);
      

  16.   

    因为OBJECT可以存在于HTML文件中,但不是在ASPX页面里,所以我在ASPX页面里加了一个FRAME,调用那个含有那个OBJECT的HTML页。可以实现。
      

  17.   

    VALUE="res://C:\WINNT\system32\shdoclc.dll/dnserror.htm#http:///">,我的解决方法是把value改为该页的地址,即value="http://localhost/../dnseror.htm",这样不会出现你说的问题,不过,在win98系统下预览有问题;而且OBJECT会被ie认为是不安全的控件,必须在客户端ie开发该控件才能使用。
      

  18.   

    <input type="button" onclick="window.print">
      

  19.   

    <script language=javascript>
    <!--
    function PrintPage()
    {
    try
    {
    var str  ='<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" VIEWASTEXT></OBJECT>';
    if(typeof(WebBrowser)!="object") 
    {
    document.body.insertAdjacentHTML("beforeEnd", str);
    document.getElementById("WebBrowser").ExecWB(6,1);
    }
    }catch(e){}
    }
    //-->
    </script>
    <INPUT  type="button" onclick="PrintPage()" value="打印">