Автоматическая печать SSRS

#reporting-services

#службы отчетов

Вопрос:

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

Ответ №1:

Вот что я нашел в Интернете:

Этот код написан с самого начала и основан на Visual studio 2008, среде MSSQL Server 2008.

Я надеюсь, что вы установили и настроили MSSQL Reporting Services 2008, если нет, то дайте мне знать, я буду направлять вас.

1) После настройки служб Reporting Services 2008 перейдите к C:Program FilesMicrosoft SQL ServerMSRS10_50.SERVER2K8Reporting ServicesReportServerbin and locate RSClientPrint.cab.

2) Скопируйте этот файл .cab в папку вашего веб-сайта.

3) Создайте страницу myASPX.aspx

4) Создайте myHTML.html страница

5) Создайте IFRAME в myASPX.aspx с width =»0″,height =»0″ и source =».html»

6) Создайте тег объекта со следующими атрибутами, подобными этому:

 <object id="RSCP" codebase="RSClientPrint-x86.cab#Version=2009,1600,100,1" 
classid="CLSID:5554DCB0-700B-498D-9B58-4E40E5814405" VIEWASTEXT>
  

7) Напишите следующий код в теге script в myHTML.html страница

 <script language="javascript" type="text/javascript">
     function getPrint(){
         RSCP.MarginBottom = '12.7';
         RSCP.MarginLeft = '12.7';
         RSCP.MarginRight = '12.7';
         RSCP.MarginTop = '12.7';  // 
        RSCP.Print('http://MYSERVERNAME:8080/RS2K8', '/MYDIR/MYREPORTNAME(without extension)', 'MyReport');
     }
 </script>
  

8) Наконец, событие загрузки тела

 <body onload="getPrint()">
  

Вот ссылка