1. 程式人生 > >WEB水晶報表直接列印

WEB水晶報表直接列印

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控制元件~