Услуги отчетности: Распечатать все страницы - PullRequest
0 голосов
/ 18 января 2010

В службах отчетов SQL Server мне бы хотелось иметь возможность распечатывать все страницы отчета, даже если отчет разделен на несколько страниц отчета в пользовательском интерфейсе.

В настоящее время у нас есть отчет со следующим:

  • одна страница за единицу
  • нет возможность печати в pdf (намеренно удалено по требованию; в противном случае было бы возможным решением: скачать в pdf, а затем распечатать весь документ pdf)
  • возможность распечатать одну страницу за раз

и хотел бы внести следующие изменения:

  • возможность печати всех страниц одним действием пользователя

1 Ответ

2 голосов
/ 19 января 2010

Чтобы вручную управлять печатью, вам нужно написать свои собственные методы печати. Это широко освещалось в сети разочарованными разработчиками ReportViewer.

По сути, идея заключается в том, что вы создаете свой собственный рендер для печати. Вы должны преобразовать все страницы отчета в изображения (по потоку файлов или памяти) и передать изображения на принтер. Совет: если вы решите использовать MemoryStream (это более простой метод, поскольку он не требует очистки), имейте в виду, что если ваши отчеты очень большие, у вас могут возникнуть проблемы с нехваткой памяти.

Наличие пользовательского метода печати даст вам полный контроль над печатью отчета.

Статью MSDN по этой теме можно найти по адресу http://msdn.microsoft.com/en-us/library/ms252091%28VS.80%29.aspx

Кроме того, если вы воспользуетесь Google "Пользовательский просмотрщик отчетов для печати", вы найдете много статей, связанных с этой темой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...