Fastreport и принтер

отредактировано 01:48 Раздел: FastReport .NET
Доброе время суток!

Используется следующий код:
var res = report.Prepare();

if (!res)
                {
                    return "Error Prepared Report";
                }

                if (printDirectly)
                {
                    report.PrintSettings.ShowDialog = false;
                    report.PrintPrepared();
                }
                else
                {
                    using (var environmentSettings1 = new EnvironmentSettings())
                    {
                        environmentSettings1.PreviewSettings.Buttons = PreviewButtons.Close | PreviewButtons.PageSetup | PreviewButtons.Print;
                        report.ShowPrepared(true);
                    }
                }

                report.Dispose();

                return "";

Иногда, когда отчет без предпросмотра отправляется на печать, он не печатается (даже не попадает в очередь печати).
Александр, как можно "поймать" момент, что задание отправлено в очередь печати.
Спасибо.

Комментарии

  • отредактировано 01:48
    может, как вариант, добавить после report.PrintPrepared(); Thread.Sleep(...);, но опять же сколько "поспать", чтобы быть уверенным что задание ушло в пул.
  • отредактировано 01:48
    Здравствуйте,

    Метод PrintPrepared гарантированно должен напечатать отчет. Расскажите, как воспроизвести ошибку?
  • отредактировано 01:48
    Доброе время суток. В том то и дело, что воспроизвести ошибку не получается. Я склонен к мысли, что просто в момент отправки на печать принтер был недоступен (может какой то сбой сетки), а ФР никак, наверное, не сигнализирует об этом. Наверное я многого хочу :) , но можно ли как то узнать, что ФР отправил задание в очередь печати?
  • отредактировано 01:48
    Здравствуйте,

    Печать выполняется с помощью стандартного PrintDocument. Полагаю, что об ошибках он должен сигнализировать, выкидывая exception. В этом случае достаточно метод report.PrintPrepared поместить в блок try/catch.
  • отредактировано 01:48
    Ок. Спасибо.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.