啟用和停用 Reporting Services 的用戶端列印功能
報表檢視器工具列上的列印按鈕使用Portable Document Format (PDF),供用戶端列印在瀏覽器中檢視的 Reporting Services 報表。 新的遠端列印體驗使用 Reporting Services 隨附的 PDF 轉譯延伸模組,將報表轉譯為 PDF 格式。 您可以下載報表的 PDF 表單。 或者,如果您已安裝用於檢視 PDF 檔案的應用程式,列印按鈕會顯示頁面通用設定項目的列印對話方塊。 其中包括設定項目,例如頁面大小和方向以及 PDF 檔案預覽。 雖然依預設會啟用用戶端列印,但如果您不想提供此功能,也可以停用它。
舊版 Reporting Services 使用必須從報表伺服器下載至用戶端電腦的 ActiveX 控制項。 如果您將報表伺服器升級至 SQL Server 2016 或更新版本,列印控制項不會從報表伺服器或用戶端電腦移除。
列印體驗
當您選取報表檢視器工具列上的列印 按鈕時,其體驗會依用戶端電腦上安裝的 PDF 檢視應用程式及您使用的瀏覽器而異。 您可以下載 PDF 檔案,或從對話方塊設定列印選項,取決於用戶端電腦。
互動 | 使用者介面 |
---|---|
第一個對話方塊在所有瀏覽器中都相同,並且允許您變更基本版面配置屬性,例如方向。 當您選取 [列印],其體驗會依您使用的瀏覽器而稍有不同。 | |
在 Chrome 中,會開啟詳細的瀏覽器列印畫面。 您可以變更列印組態、列印及開啟作業系統列印對話方塊。 | |
如果您已安裝 PDF 閱讀程式應用程式,列印按鈕將會開啟 PDF 檔案的預覽視窗,而您可以選擇儲存或列印。 | |
如果您沒有安裝 PDF 閱讀程式應用程式,則會有兩種使用者體驗: 報表會自動轉譯,並使用您的瀏覽器下載流程下載 PDF 檔案。 注意:報表越複雜,則您選取 [列印] 到您看見瀏覽器下載通知之間的延遲就越久。 您也可以選取 [按一下這裡以檢視報表 PDF。] 強制再次下載。 選取 [按一下這裡以檢視報表 PDF。] 強制下載 PDF。 |
疑難排解用戶端列印功能
如果報表檢視器工具列上的列印按鈕已停用,請確認下列陳述式:
Management Studio 中報表伺服器的用戶端列印功能已停用。 請參閱本文中的啟用及停用用戶端列印功能一節。
SQL Server 2016 (13.x) Reporting Services 或更新版本 (SSRS) PDF 轉譯延伸模組已停用。 檢閱
rsreportserver.config
檔案的<Extension Name="PDF"
區段。您在相容性模式中檢視報表,該模式使用舊的 SQL Server 2016 (13.x) Reporting Services 或更新版本 (SSRS) HTML4 轉譯引擎。 PDF 列印體驗需要 HTML 5 轉譯引擎。 請選取工具列上的 [嘗試預覽]。
啟用及停用用戶端列印功能
報表伺服器管理員可以選擇將報表伺服器系統屬性 EnableClientPrinting
設定為 False,來停用遠端列印功能。 此設定會停用由該伺服器管理的所有報表的用戶端列印功能。 根據預設,EnableClientPrinting
設定為 True。 您可以採用下列方式來停用用戶端列印:
針對「原生模式報表伺服器」:
使用系統管理權限啟動 Management Studio。
連線至 Management Studio 中的報表伺服器執行個體。
以滑鼠右鍵按一下報表伺服器節點,然後選取 [屬性]。 如果 [屬性] 選項無法停用,請驗證您是使用系統管理權限啟動 SQL Server Management Studio。
選取進階。
選取 EnableClientPrinting中報表伺服器的用戶端列印功能已停用。
設為 True 或 False 然後選取 [確定]。
針對 SharePoint 模式報表伺服器:
在 SharePoint 管理中心內,選取 [應用程式管理]。
選取 [管理服務應用程式]。
選取 Reporting Services 服務應用程式的名稱,然後選取 SharePoint 功能區中的 [管理]。
選取系統設定。
選取 [啟用用戶端列印] 。 [啟用用戶端列印] 選項位於靠近頁面底部的位置。
選取 [確定]。
撰寫指令碼或程式碼,將報表伺服器系統屬性
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
更多問題嗎? 請嘗試詢問 Reporting Services 論壇