在VS2005中使用水晶报表时很简单的事了,因为微软已经把几乎整个水晶报表的工具集成到VS2005了。
而且crystalReportviewer 控件有着强大的报表功能,其中包括显示报表,预览,缩印等,很大程度上方便了开发人员的开发。但是在使用crystalReportviewer的控件进行打印的时候总是遇到这样那样的问题。
首先要声明的是:crystalReportviewer的打印有两种模式可选择,分别是PDF, AcitiveX。
其中PDF,就是在选择打印的时候,会生成一个PDF文档,你可以在PDF文档中点击打印。但是如果客户端没有装PDF阅读器那么会提示保存一个PDF的文件。很显然对于想直接打印的用户来说,PDF格式的打印方法很是不方便。
第二种就是ActiveX模式了。一看到ActiveX就让人想到安全性的问题。的确,如果你要使用这个ActiveX模式,就是要在服务器端做一番工作的。还有就是设置你客户端的安全设置了。
但是这种模式,只能用于IE的浏览器,其他比如火狐等浏览器时不能使用这种模式的,即使你强制把crystalReportviewer的printmode属性设为ActiveX,他仍旧会按PDF模式来进行打印的。
既然只能在IE中使用,那我们先谈谈在IE中使用的方法。
在IE7之前的浏览器一般你点击打印按钮时,会弹出一个对话框但是什么都不显示。在 Crystal Reports for Visual Studio 2005 中,为符合icrosoft 安全性需求起見,并没有将ActiveX打印控制项安装在本机上,而是必须制成.cab档案,让人从外部URL来获取。printControl.cab文件可以从Business Objects 技术网站上: http://support.businessobjects.com/CRforVS2005/PrintControl.cab中下载下来,这时就可以将 cab档案放在 Web 服务器目录中,以供 URL 存取之用。如果想在浏览器中提示安装该ActiveX,需要在web.config中添加如下代码:
而且crystalReportviewer 控件有着强大的报表功能,其中包括显示报表,预览,缩印等,很大程度上方便了开发人员的开发。但是在使用crystalReportviewer的控件进行打印的时候总是遇到这样那样的问题。
首先要声明的是:crystalReportviewer的打印有两种模式可选择,分别是PDF, AcitiveX。
其中PDF,就是在选择打印的时候,会生成一个PDF文档,你可以在PDF文档中点击打印。但是如果客户端没有装PDF阅读器那么会提示保存一个PDF的文件。很显然对于想直接打印的用户来说,PDF格式的打印方法很是不方便。
第二种就是ActiveX模式了。一看到ActiveX就让人想到安全性的问题。的确,如果你要使用这个ActiveX模式,就是要在服务器端做一番工作的。还有就是设置你客户端的安全设置了。
但是这种模式,只能用于IE的浏览器,其他比如火狐等浏览器时不能使用这种模式的,即使你强制把crystalReportviewer的printmode属性设为ActiveX,他仍旧会按PDF模式来进行打印的。
既然只能在IE中使用,那我们先谈谈在IE中使用的方法。
在IE7之前的浏览器一般你点击打印按钮时,会弹出一个对话框但是什么都不显示。在 Crystal Reports for Visual Studio 2005 中,为符合icrosoft 安全性需求起見,并没有将ActiveX打印控制项安装在本机上,而是必须制成.cab档案,让人从外部URL来获取。printControl.cab文件可以从Business Objects 技术网站上: http://support.businessobjects.com/CRforVS2005/PrintControl.cab中下载下来,这时就可以将 cab档案放在 Web 服务器目录中,以供 URL 存取之用。如果想在浏览器中提示安装该ActiveX,需要在web.config中添加如下代码: