Печать десятков страниц в Silverlight останавливает работу компьютера - PullRequest
0 голосов
/ 08 февраля 2011


у нас есть приложение Silverlight 4, которое печатает многостраничный отчет.Когда количество страниц превышает 20 или 30 (в зависимости от компьютера), печать полностью блокирует компьютер, и пользователи не могут его использовать.
Это связано с огромным размером задания на печать - каждая страница занимает около 170 МБ, поэтому10-страничный документ дает почти 2 гигабайта!
В комментарии со страницы http://wildermuth.com/2009/11/27/Silverlight_4_s_Printing_Support (см. комментарий Marshall Agnew от 3 декабря 2009 г.) я обнаружил, что «Silverlight Printing в настоящее время позволяет пользователям указывать Color /Оттенки серого, ориентация и разрешение (DPI) ... "
Однако я не могу найти какую-либо информацию о том, как это делается.
Мы печатаем черно-белый документ, только текст, поэтому оттенки серого (илидаже черно-белое, если бы это было возможно) было бы хорошо с нами.
Спасибо за любую помощь в том, как уменьшить размер задания печати или найти альтернативное решение для печати многостраничных отчетов в SL4.
Ян

Ответы [ 3 ]

1 голос
/ 08 февраля 2011

Проблема в том, что silverlight печатает необработанные байты изображения путем рендеринга изображений из XAML. Совсем не оптимизирован.

Попробуйте сгенерировать файлы XPS или PDF из своего клиента и разрешить пользователю сохранить их перед печатью.

XPS генерировать относительно легко, поскольку он использует XAML.

http://msdn.microsoft.com/en-us/library/ms771669.aspx

1 голос
/ 27 февраля 2011

Все это раздражает меня. Если мне нужно распечатать в PDF для печати, то Silverlight просто НЕ готов к прайм-тайм. Я создал крупномасштабное приложение в Silverlight. Печать работает по большей части, но в некоторых принтерах большие задания на печать вызывают ошибки и блокируют приложение или компьютер. Это смешно для меня! Silverlight нельзя использовать для бизнес-приложений с поддержкой печати по шлепку. На самом деле еще хуже ошибка в том, что нет фильтрации страниц. Если вы выберете страницы 2 и 5 8-страничного документа, он просто напечатает страницы 1 и 2.

Я так смущен, что мое приложение теперь унаследовало проблемы Silverlight.

0 голосов
/ 08 февраля 2011

Похоже, вы слишком много просите от печатного движка Silverlight. Вероятно, вы получите лучшую производительность, если будете печатать из PDF, а не непосредственно из Silverlight.

Рассматривали ли вы какие-либо сторонние инструменты для создания отчетов Silverlight? Многие из них преобразуют отчет в PDF, Excel и другие форматы.

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