Печать отчетов CrystalReport в приложении Asp.Net без использования PDF - PullRequest
3 голосов
/ 15 апреля 2009

Я занимаюсь разработкой приложения Asp.Net 3.5, и мне нужно распечатать отчеты, сгенерированные приложением.

Ранее я использовал SSRS, но у меня было много проблем с его конструктивными особенностями. Из-за этого мы сейчас ищем Crystal Reports в качестве альтернативы.

Когда мы начали использовать Crystal, мы столкнулись с новой проблемой. Если щелкнуть кнопку «Печать», отображаемую в верхней панели Crystal Report, в отчете, представленном на веб-странице, вместо отображения диалогового окна печати SO по умолчанию, отобразится пользовательская страница печати, которая затем печатает отчет в PDF. 1005 *

Я знаю, что этого решения, вероятно, достаточно для большинства сценариев печати отчетов в Интернете. Но в моем конкретном случае я не могу гарантировать, что на клиентских компьютерах, обращающихся к моему веб-приложению, установлена ​​программа для чтения PDF, например, Acrobat Reader. И я не могу требовать, чтобы они установили его, чтобы использовать мое приложение.

Итак, я ищу решение, чтобы кнопка «Печать» сгенерированного отчета отображала диалоговое окно печати SO по умолчанию вместо печати в PDF.

Можете ли вы дать мне какой-нибудь совет по решению этой проблемы?

Спасибо.

1 Ответ

6 голосов
/ 26 июня 2009

Хорошо, я собираюсь получить значок некроманта, поэтому не забудьте проголосовать, если вам нравится ответ. Я думаю, что этот вопрос соответствует этому значку. :)

Вот несколько ссылок с некоторыми идеями:

http://aspalliance.com/509

Здесь говорят, что вы можете использовать серверный ReportDocument.PrintToPrinter, но говорят, что ограничение заключается в том, что необходимо указать имя принтера. Они рекомендуют иметь выпадающий список на странице и использовать System.Drawing.Printing.PrinterSettings.InstalledPrinters в качестве источника данных, чтобы пользователь мог выбрать принтер. Я не пробовал этого, но вариант 2 больше похож на то, что вы ищете.

Они также говорят, что вы можете использовать окно JavaScript на стороне клиента. Функция печати. Это кажется мне лучшим подходом.

http://www.c -sharpcorner.com / Форум / ShowMessages.aspx? ThreadID = 49048

В этой ссылке они оба рекомендуют PrintToPrinter, но я все еще думаю, что вызов на стороне клиента - это то, что вы ищете.

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