VS.NET2005 CrystalReport的打印模式分为Pdf和ActiveX两种,打印模式的设置在CrystalReportViewer.PrintMode 属性中。1、PDF模式的打印需在服务端及客户端安装pdf格式阅读器。2、ActiveX模式:ActiveX 打印控件允许使用者将报表直接打印至本机打印机。使用ActiiveX模式需要在Web.config的<configuration>节中添加如下配置信息:<configSections>
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="printControl" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" />
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<printControl>
<add key="url" value="http://localhost:5760/web/PrintControl.cab" />
</printControl>
</crystalReports>
</businessObjects>PrintControl.cab 档案可以从 Business Objects 技术支持网站下载取得,并可以将 cab 档案放在 本地Web 服务器虚拟目录中,以供 URL 存取之用。PrintControl.cab 档案的下载地址:http://support.businessobjects.com/CRforVS2005/PrintControl.cab。可以将PrintControl.cab 档案显示在页面上,在Web页面Html中加入如下代码:<object id="CrystalPrintControl" classid="CLSID:BAEE131D-290A-4541-A50A-8936F159563A" codebase="http://127.0.0.1/rpt/PrintControl.cab" #Version="10,2,0,1078" viewastext></object>#Version是版本号,如果你是其他的版本将版本号修改一下即可。可以看到它是一个CrystalReport的一个打印控件。把这个插件arview2.cab直接放在这个页面相同的文件夹里就是下面的写法<object id="arv" codebase="arview2.cab #version=2.4.1.1283" width="100%" classid="clsid:8569D715-FF88-44BA-8D1D-AD3E59543DDE" viewastext style="height: 100%">
<param name="_ExtentX" value="26141">
<param name="_ExtentY" value="11959">
</object> 在服务器上装上
1、CRRedist2005_x86.msi
2、CRREdist2005_x86_chs.msi
3、CrystalReports10_NET_EmbeddedInstall.msi(序列号:A6860-0900000-U70005X) 注册表的PrintJobLimit:0,不然会有使用限制。 下载PrintControl.cab
建个.html
<html>
<object id= "CrystalPrintControl " classid= "CLSID:BAEE131D-290A-4541-A50A-8936F159563A " codebase= "http://192.168.0.1\PrintControl.cab " #Version= "10,2,0,1078 " viewastext> </object>
</html> 客户端第一次打印时调用一下,安装ActiveX控件~这个的确可以行得通,关键问题是如果服务器有两个IP地址怎么办 或者 有两个以上的IP地址提供访产问怎么办?
这样的话在 url 的 value 值 里应该写哪个,或应该怎么处理呢?
谢谢
<sectionGroup name="businessObjects">
<sectionGroup name="crystalReports">
<section name="printControl" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" />
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<printControl>
<add key="url" value="http://localhost:5760/web/PrintControl.cab" />
</printControl>
</crystalReports>
</businessObjects>PrintControl.cab 档案可以从 Business Objects 技术支持网站下载取得,并可以将 cab 档案放在 本地Web 服务器虚拟目录中,以供 URL 存取之用。PrintControl.cab 档案的下载地址:http://support.businessobjects.com/CRforVS2005/PrintControl.cab。可以将PrintControl.cab 档案显示在页面上,在Web页面Html中加入如下代码:<object id="CrystalPrintControl" classid="CLSID:BAEE131D-290A-4541-A50A-8936F159563A" codebase="http://127.0.0.1/rpt/PrintControl.cab" #Version="10,2,0,1078" viewastext></object>#Version是版本号,如果你是其他的版本将版本号修改一下即可。可以看到它是一个CrystalReport的一个打印控件。把这个插件arview2.cab直接放在这个页面相同的文件夹里就是下面的写法<object id="arv" codebase="arview2.cab #version=2.4.1.1283" width="100%" classid="clsid:8569D715-FF88-44BA-8D1D-AD3E59543DDE" viewastext style="height: 100%">
<param name="_ExtentX" value="26141">
<param name="_ExtentY" value="11959">
</object> 在服务器上装上
1、CRRedist2005_x86.msi
2、CRREdist2005_x86_chs.msi
3、CrystalReports10_NET_EmbeddedInstall.msi(序列号:A6860-0900000-U70005X) 注册表的PrintJobLimit:0,不然会有使用限制。 下载PrintControl.cab
建个.html
<html>
<object id= "CrystalPrintControl " classid= "CLSID:BAEE131D-290A-4541-A50A-8936F159563A " codebase= "http://192.168.0.1\PrintControl.cab " #Version= "10,2,0,1078 " viewastext> </object>
</html> 客户端第一次打印时调用一下,安装ActiveX控件~这个的确可以行得通,关键问题是如果服务器有两个IP地址怎么办 或者 有两个以上的IP地址提供访产问怎么办?
这样的话在 url 的 value 值 里应该写哪个,或应该怎么处理呢?
谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货