Страница 1 из 1

Ошибка при экспорте отчета с RichEdit

Добавлено: 28 окт 2011, 14:35
signus
Здравствуйте. Reports.net версия 2010.1.700

При попытке экспортировать в PDF отчет в котором используется компонент RichText возникает ошибка показанная ниже. Остальные отчеты экспортируются нормально. На development сервере ошибка не возникает, только на хостинговом сервере.

Ошибка:

=========================================================
В экземпляре объекта не задана ссылка на объект.
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.

Сведения об исключении: System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.

Ошибка источника: Необработанное исключение при выполнении текущего веб-запроса. Информацию о происхождении и месте возникновения исключения можно получить, используя следующую трассировку стека исключений.

Трассировка стека:

[NullReferenceException: В экземпляре объекта не задана ссылка на объект.]
Stimulsoft.Report.Export.StiPdfExportService.AssembleRtf(StiComponent component) +308
Stimulsoft.Report.Export.StiPdfExportService.ExportPdf(StiReport report, Stream stream, StiPdfExportSettings settings) +7759
W.........GetReportPdf(String ReportName, ParametersArray[] Parameters, Boolean UseFonts) in \\....cs:116
W........btnPrint_Click(Object sender, EventArgs e) in \\.....aspx.cs:78
System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +108
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +118
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
-------------------------------------------------------------------------------
Информация о версии: Платформа Microsoft .NET Framework, версия:2.0.50727.3625; ASP.NET, версия:2.0.50727.3618




Ошибка при экспорте отчета с RichEdit

Добавлено: 30 окт 2011, 22:29
Ivan
Здравствуйте.

Мы уже исправляли несколько ошибок в этой области.
Пожалуйста попробуйте последний релиз 2011.2 и сообщите нам о результатах.
Если проблема не решится, пожалуйста пришлите нам простой тестовый отчет с данными, на которых можно воспроизвести проблему, для анализа.

Спасибо.

Ошибка при экспорте отчета с RichEdit

Добавлено: 01 ноя 2011, 02:57
signus
Похоже проблема была в каких-то настройках хостингового сервера, так как после переноса на другой сервер экспорт заработал. Но возникла новая проблема - теперь экспортируемый pdf выглядит не так как на development сервере: шрифты отображаются по другому, более растянутыми, хотя используемые шрифты идентичны на обоих серверах. Причем это касается не только RichText но и обычного Text поля. От каких еще настроек может зависеть внешний вид экспортируемого pdf?

Ошибка при экспорте отчета с RichEdit

Добавлено: 02 ноя 2011, 04:40
Ivan
Здравствуйте.

Какую версию нашего продукта вы используете?
Мы уже делали несколько улучшений в этой области в прошлом году.
Пожалуйста попробуйте последний релиз 2011.2 и сообщите нам о результатах.
Если проблема не решится, пожалуйста пришлите нам простой тестовый отчет с данными, на которых можно воспроизвести проблему, и полученные pdf-файлы, для анализа.

Спасибо.

Ошибка при экспорте отчета с RichEdit

Добавлено: 02 ноя 2011, 07:22
signus
Приобретена версия Reports.Net 2010.1.700

Попробовал на последней версии 2011.2 Trial - то же самое, на трех разных машинах - на всех pdf выглядит по разному.

Отчет и сгенерированные pdf выслал на support@stimulsoft.com с пометкой "для Ivan".

Ошибка при экспорте отчета с RichEdit

Добавлено: 03 ноя 2011, 07:09
Ivan
Здравствуйте.
signus писал(а):Возникла новая проблема - теперь экспортируемый pdf выглядит не так как на development сервере: шрифты отображаются по другому, более растянутыми, хотя используемые шрифты идентичны на обоих серверах. Причем это касается не только RichText но и обычного Text поля. От каких еще настроек может зависеть внешний вид экспортируемого pdf?
Рендеринг компонента RichText производится с помощью системной библиотеки riched20.dll, которая работает через GDI.
Из-за внутренних особенностей этой библиотеки, при выводе символов происходит округление их координат в зависимости от dpi используемой канвы: чем больше dpi, тем точнее размеры.
По умолчанию используется системная канва, которая имеет 100 dpi, и соответственно получается невысокая точность отображения текста.
При включении режима Wysiwyg отрисовка производится с помощью канвы текущего принтера. Чем выше dpi печати принтера, тем более точно отображается текст.
Если в системе не установлено ни одного принтера - отрисовка производится методом по умолчанию с использованием системной канвы.

В вашем случае на разных компьютерах по умолчанию установлены разные принтеры (с разным dpi), поэтому и точность отрисовки текста получается разная.

Также на хостинг-компьютере какие-то проблемы со шрифтом Arial Narrow (возможно не установлен), поэтому вместо него система использует шрифт Arial.

Спасибо.