Crystal Reports загружается очень медленно, если принтер недействителен - PullRequest
0 голосов
/ 23 февраля 2011

В Crystal Reports, если другой разработчик разработал отчет, я вижу ошибку «В этом отчете используется недопустимый принтер. Вместо него будет использоваться принтер по умолчанию».

Я заметил, что требуется ОЧЕНЬ много времени для программного открытия отчетов, когда они имеют это сообщение об ошибке.Один отчет занял до 1 1/2 минуты для загрузки с недействительным принтером, а затем только 5 секунд для загрузки, когда я установил принтер.Проблема в том, что мы можем исправить отчеты в наших сетевых принтерах, но мы разворачиваем наше программное обеспечение для клиентов, у которых не будет нашей настройки принтера.Они, вероятно, имеют эти времена загрузки для ВСЕХ отчетов.

Как программно настроить принтер на принтер по умолчанию, чтобы ускорить загрузку отчета?

Приведенный ниже код не работал;по крайней мере, загрузка заняла 1 1/2 минуты, могу ли я печатать с этого принтера или нет.Я использую объект ReportDocument (CrystalDecisions.CrystalReports.Engine.ReportDocument) для печати.Вот фрагмент кода вместе с тем, где я пытаюсь установить новый принтер.


// Create CrystalDecisions.CrystalReports.Engine.ReportDocument object
ReportDocument crReportDocument = new ReportDocument();
// Typically this is set to .PortableDocFormat
ExportFormatType selectedOutputType = m_ExportFormat;

System.Drawing.Printing.PrinterSettings printerSettings = new System.Drawing.Printing.PrinterSettings();
crReportDocument.PrintOptions.PrinterName = printerSettings.PrinterName;

// Load() takes an EXTREMELY long time 
// if the RPT file is saved with a printer not found on this computer.
crReportDocument.Load(m_FileName); 

Ответы [ 2 ]

1 голос
/ 11 октября 2013

Попробуйте выбрать параметр «Нет принтера» в отчете Crystal.

  1. Откройте отчет в Crystal Designer, перейдите в «Параметры страницы».
  2. Отметьте «Нет принтера». Сохраните отчет.
  3. Опубликовать отчет.
1 голос
/ 23 февраля 2011

Эти ссылки могут помочь. По сути, это говорит о том, что если отчет разработан на определенном принтере, он будет искать этот принтер, вызывая задержку.

http://social.msdn.microsoft.com/Forums/en-US/vscrystalreports/thread/54f9cb09-41f3-4191-b705-e4f0f38dfb4a

http://kb.sagesoftwareonline.com/cgi-bin/sagesoftwareonline.cfg/php/enduser/std_adp.php?p_faqid=19460&p_created=1158860711&p_topview=1#6

...