水晶报表打印直接弹出打印设置页面不通过PDF进行打印
前几天做了个系统报表功能,利用的是水晶报表。今天BOSS要求按下打印按钮直接弹出打印机设置窗口而不是通
过PDF进行打印(水晶报表默认)。
忙活了半天总算解决了,和大家分享下。
此功能需要下载个插件,PrintControl.cab,自己在网上搜索下。
第一步:将PrintControl.cab放在网站的目录下,这里我放在了根目录下。
第二步:设置Web.Config文件,首先在<configSections>标签中加入如下代码。
<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>
然后在<configSections>标签后面加入如下代码
<businessObjects> <crystalReports> <printControl> <add key="url " value="http://127.0.0.1/aizhigala//PrintControl.cab" /> </printControl> </crystalReports> </businessObjects>
第三步:在报表页面加入如下代码
<object classid="CLSID:BAEE131D-290A-4541-A50A-8936F159563A" codebase="http://127.0.0.1/aizhigala/PrintControl.cab" version="10,2,0,1078" viewastext style="display: none"></object>
第四步:设置crystalreportviewer的PrintMode为ActiveX
<cr:crystalreportviewer id="Ruling1ReportView" PrintMode="ActiveX" runat="server" autodatabind="true" BorderColor="DimGray" BorderWidth="1px" Height="50px" ToolbarStyle-BorderColor="Black" ToolbarStyle-BorderStyle="Solid" ToolbarStyle-BorderWidth="1px" Width="100%"/>
完!