共用方式為


啟用和停用 Reporting Services 的用戶端列印功能

Microsoft ActiveX 控制項 RSClientPrint 可針對在瀏覽器中檢視的報表提供用戶端列印。 此控制項會顯示自訂列印對話方塊,其中支援與其他列印對話方塊一樣的一般功能。 這些功能包括預覽列印、可指定要列印的特定頁面及範圍、頁面邊界和列印方向。 雖然依預設會啟用用戶端列印,但如果您不想提供此功能,也可以停用它。

[!附註]

下載 ActiveX 控制項需要具有管理員權限。

下載 ActiveX 控制項

每一個想要使用列印功能的使用者,都必須下載並安裝提供用戶端列印功能的 ActiveX 控制項。 當使用者第一次在報表工具列上按一下 [印表機] 圖示時,Microsoft ActiveX 控制項就會下載到電腦上。 下載此控制項之後,每當使用者按一下 [印表機] 圖示時,就會顯示 [列印] 對話方塊。

視瀏覽器設定而定,也許會提示使用者安裝此控制項、防止安裝此控制項,或在背景中無障礙地安裝此控制項。

若為 Microsoft Internet Explorer,則影響 ActiveX 控制項下載及安裝的設定是透過 Web 內容區域之 [安全性設定] 頁面中的 [ActiveX 控制項與外掛程式] 節點指定。 下列設定將根據網際網路區域安全性喜好設定,決定使用者是否可以下載及執行列印控制項:

  • 下載簽署的 ActiveX 控制項。

  • 為標示為安全可供撰寫指令碼的 ActiveX 控制項撰寫指令碼。

  • 執行 ActiveX 控制項和外掛程式。

想要使用 RSClientPrint 執行用戶端列印的使用者必須啟用下列:

  • [下載簽署的 ActiveX 控制項] 和 [為標示為安全可供撰寫指令碼的 ActiveX 控制項撰寫指令碼] 才能進行安裝。

  • [執行 ActiveX 控制項和外掛程式] 才能進行列印作業。

RSClientPrint ActiveX 控制項已經簽署,表示它包含來自 Microsoft 的有效數位憑證。

啟用及停用用戶端列印

報表伺服器管理員可以選擇將報表伺服器系統屬性 EnableClientPrinting 設定為 false,來停用列印功能。 這樣會停用由該伺服器管理的所有報表的用戶端列印功能。 依預設,EnableClientPrinting 設定為 true。 您可以採用下列方式來停用用戶端列印:

  • 針對 原生模式報表伺服器

    1. 使用系統管理權限來啟動 Management Studio。

    2. 在 Management Studio 中,連接到報表伺服器執行個體。

    3. 以滑鼠右鍵按一下報表伺服器節點,然後按一下 [屬性]。 如果 [屬性] 選項已停用,請確認您已使用系統管理權限來啟動 Management Studio。

    4. 選取 [啟用 ActiveX 用戶端列印控制項的下載]

    5. 按一下 [確定]。

  • 針對 SharePoint 模式報表伺服器

    1. 在 SharePoint 管理中心內,按一下 [應用程式管理]

    2. 按一下 [管理服務應用程式]

    3. 按一下 Reporting Services 服務應用程式的名稱,然後按一下 SharePoint 功能區中的 [管理]

    4. 按一下 [系統設定]

    5. 選取 [啟用用戶端列印][啟用用戶端列印] 選項位於靠近頁面底部的位置。

    6. 按一下 [確定]。

  • 撰寫指令碼或程式碼,將報表伺服器系統屬性 EnableClientPrinting 設定為 false.。

下列範例指令碼說明停用用戶端列印功能的方法之一。 編譯後執行下列 Microsoft Visual Basic 程式碼,將 EnableClientPrinting 屬性設定為 [False]。 執行程式碼之後,請重新啟動 IIS。

範例指令碼

Imports System
Imports System.Web.Services.Protocols
Class Sample
   Public Shared Sub Main()
Dim rs As New ReportingService()
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials
        Dim props(0) As [Property]
        Dim setProp As New [Property]
        setProp.Name = "EnableClientPrinting"
        setProp.Value = “False” 
        props(0) = setProp
        Try
            rs.SetSystemProperties(props)
        Catch ex As System.Web.Services.Protocols.SoapException
            Console.Write(ex.Detail.InnerXml)
        Catch e as Exception
            Console.Write(e.Message)
        End Try
    End Sub 'Main
End Class 'Sample