Разрешение и запрет печати на стороне клиента для служб Reporting Services

Элемент управления Microsoft ActiveX RSClientPrint обеспечивает возможность печати клиентами отчетов, просматриваемых в браузере. Данный элемент управления отображает пользовательское диалоговое окно печати, в котором поддерживаются все стандартные функции: предварительный просмотр, указание отдельных страниц и их диапазонов, поля и ориентация страниц. Хотя по умолчанию клиентская печать допускается, эту функцию можно отключить.

Для загрузки элементов управления ActiveX требуется разрешение администратора.

Параметры настройки браузера, определяющие поведение при загрузке

Каждый пользователь, который хочет использовать функцию печати, должен загрузить и установить элемент управления ActiveX, который обеспечивает функцию клиентской печати. В зависимости от настройки браузера, пользователю может быть указана необходимость установки элемента управления, либо установка элемента управления может быть ему запрещена, либо элемент управления может быть установлен в фоновом режиме.

Для обозревателя Microsoft Internet Explorer параметры настройки, влияющие на загрузку элементов управления и модулей ActiveX, отображены в узле Элементы управления и подключаемые модули ActiveX на странице Настройки безопасности для зоны Интернета. Следующие настройки определяют, может ли пользователь загружать и запускать элементы управления печатью, исходя из настроек безопасности зоны Интернета:

  • Загрузка подписанных элементов управления ActiveX.

  • Включение в скрипты элементов управления ActiveX, отмеченных как безопасные.

  • Запуск элементов управления и дополнений ActiveX.

Пользователи, желающие использовать RSClientPrint для осуществления клиентской печати, должны разрешить Загрузку подписанных элементов управления ActiveX и Включение в скрипты элементов управления ActiveX, отмеченных как безопасные для целей установки и Запуск элементов управления и дополнений ActiveX для текущих операций печати. Элемент управления ActiveX RSClientPrint является подписанным, т. е. он содержит действительный цифровой сертификат, выданный корпорацией Майкрософт.

Разрешение и запрет печати на стороне клиента

Администраторы сервера отчетов обладают возможностью отключения функции печати с помощью установки системного свойства сервера отчетов EnableClientPrinting со значением false. Это отключает клиентскую печать всех отчетов, управляемых этим сервером. По умолчаниюEnableClientPrinting установлено как true. Вы можете запретить печать на стороне клиента следующими способами.

  • Выберите Разрешить загрузку элементов управления ActiveX для клиента печати на странице свойств сервера в среде Management Studio. Чтобы открыть страницы свойств сервера, подключитесь к экземпляру сервера отчетов в среде Management Studio, щелкните правой кнопкой мыши на узле сервера отчетов и выберите пункт Свойства.

  • Напишите скрипт или код, который устанавливает для системного свойства 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