解决方法是:
1.先下载"PrintControl.cab" http://support.businessobjects.com/CRforVS2005/PrintControl.cab。
2.把"PrintControl.cab"放到网站根目录下.
3.在网站根目录下建立如下路径的文件夹“\ASP.NETClient\system_Web\2.0.50727\CrystalReportWebFormViewer4”(受版本不一致的问题,该文件夹路径可能不相同,可以在网站不能正常运行时要求加载网页的地址栏中寻找)
4.然后到"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\CrystalReportWebFormViewer4"这个文件夹下的文件全部复制到刚才建立的文件夹里,
5.在刚才的文件夹里“html”文件夹下找到"crystalprinthost.html"这个文件打开,找到"objectTag += codebase;"然后将它修改为objectTag += "http://127.0.0.1/PrintControl.cab",保存.
6.在执行打印的相关网页里改一下html文件,自动安装ActiveX控件
<object id="CrystalPrintControl" classid="CLSID:83A3D1E4-ADC6-434D-9B61-B8CBA6183441" codebase="PrintControl.cab" version="10,5,1,2285" viewastext> </object>
7.至此已经可以打印,但 在网页上会出现“水晶报表打印控件”等字样,可以建一个块<div style ="display :none "></div> 把<object id="CrystalPrintControl" classid="CLSID:83A3D1E4-ADC6-434D-9B61-B8CBA6183441" codebase="PrintControl.cab" version="10,5,1,2285" viewastext> </object>放入其中予以隐藏。
以上是遇到这可能的怪问题, 纠结两天终于解决的结果,以做备份
VS2008+水晶报表 发布后可能无法打印的解决办法
最新推荐文章于 2017-09-19 12:31:16 发布
编好水晶报表代码,用的是ActiveX模式,在本机运行,第一次运行提示安装ActiveX控件,安装后,一切正常,能正常打印,但发布到网站那边运行,可能是一闪而过,连提示安装ActiveX控件也没有,甚至相关的功能图标都不能正常显示,再点"打印图标"也是没反应