При печати изменяются поля текстового поля

Обсуждение Stimulsoft Reports.Wpf
Ivan
Сообщения: 615
Зарегистрирован: 10 авг 2006, 01:40

Re: При печати изменяются поля текстового поля

Сообщение Ivan » 02 окт 2017, 09:44

Здравствуйте.

Сначала немного информации.
В каждой технологии (WinForms, Wpf, Flex, JS) используются свои методы отрисовки текста.
Даже в WinForms есть три режима отображения текста (Standard, Typographic, Wysiwyg).
Обычно разница в ширине символов, т.е. одна и та же строка текста в разных технологиях рисуется разной длины.
В зависимости от шрифта и символов разница может быть от доли миллиметра до сантиметров.
И это может значительно влиять на построение отчета.
Так, в вашем случае строка "Sierras de Granada 9993" при отрисовке методами Wpf помещается в ячейку, а при отрисовке методами WinForms уже не помещается, и число "9993" переносится на вторую строку.
Соответственно при рендеринге отчёта средствами Wpf ячейка получается высотой в одну строку, а при рендеринге отчёта средствами WinForms ячейка получается высотой в две строки.
Далее, если отрендерить отчёт в Wpf и потом отобразить его в WinForms - мы получим ситуацию как в первом посте: ячейка имеет высоту в одну строку, но текст в ней отображается в две строки.
Если отрендерить отчёт в WinForms и потом отобразить его в Wpf - ячейка будет высотой две строки, но текст в ней отображается в одну строку.

Теперь о проблемах.
Проблема при экспорте в формат изображений - подтверждаем.
Экспорт в формат изображений был реализован только средствами WinForms.
Поэтому при экспорте из Wpf и возникала указанная выше проблема с переносом текста.
На данный момент проблема решена, сделана необходимая доработка для Wpf.
Патч будет включён в следующий билд.

Проблема при печати на реальный принтер - в дизайнере воспроизвести не можем.
Но такая проблема возможна, если вы отрендерили отчёт средствами Wpf, затем загрузили его в WinForms вьювер и печатали оттуда.
При печати отчёта из кода - например, так делать неправильно:

Код: Выделить всё

report.RenderWithWpf();
report.Print();
Правильные варианты:

Код: Выделить всё

report.Render();
report.Print();

Код: Выделить всё

report.RenderWithWpf();
report.PrintWithWpf();
Спасибо.
Quirco
Сообщения: 136
Зарегистрирован: 22 авг 2016, 08:12

Re: При печати изменяются поля текстового поля

Сообщение Quirco » 13 окт 2017, 06:27

Будем пробовать.
Спасибо за подробный ответ.
Andrew
Сообщения: 564
Зарегистрирован: 09 июн 2006, 08:22

Re: При печати изменяются поля текстового поля

Сообщение Andrew » 13 окт 2017, 16:57

Здравствуйте,

Дайте знать о результатах.

Спасибо.
Quirco
Сообщения: 136
Зарегистрирован: 22 авг 2016, 08:12

Re: При печати изменяются поля текстового поля

Сообщение Quirco » 14 фев 2020, 15:40

Здравствуйте!
Проблема продолжает преследовать.

При отображении на экране, экспорте в PDF/Word - всё отлично.
При печати на физический принтер (на разных ПК, на разных принтерах/моделях/производителях принтеров), либо печати в .oxps получаем артефакт - последняя строка не умещается. Приходится центровать текст по высоте по центру, чтобы было видно часть верхней строки и часть нижней.
2020-02-14_18-36-07.png
2020-02-14_18-36-07.png (117.96 КБ) 852 просмотра
Пример отчёта с набором данных для воспроизведения ситуации прилагаем
reportTest.7z
(269.39 КБ) 26 скачиваний
Windows Server 2016, версия 1607 сборка 14393.3504
.NET Framework 4.6.2 / .NET Framework 4.7.2
Stimulsoft 2020.1.1 (В версии Стимулсофта 2019.3.6 ситуация воспроизводилась чаще, сейчас лучше, но всё ещё есть проблема)

В качестве решения проблемы пытались включить в нужных полях "AlloHtmlTags = 1", это решает проблему умещения данных в ячейку, но текст и при печати и на экране визуально отличается от текста обычных ячеек, словно это изображение.
Quirco
Сообщения: 136
Зарегистрирован: 22 авг 2016, 08:12

Re: При печати изменяются поля текстового поля

Сообщение Quirco » 17 фев 2020, 16:11

Здравствуйте. К предыдущему сообщению добавлю, что используются методы
report.RenderWithWpf();
report.PrintWithWpf();
При этом баг воспроизводится.
Aleksey
Сообщения: 2091
Зарегистрирован: 22 апр 2010, 02:57

Re: При печати изменяются поля текстового поля

Сообщение Aleksey » 19 фев 2020, 20:33

Здравствуйте,

Необходимо некоторое время для анализа проблемы.

Спасибо.
Quirco
Сообщения: 136
Зарегистрирован: 22 авг 2016, 08:12

Re: При печати изменяются поля текстового поля

Сообщение Quirco » 02 мар 2020, 13:08

Здравствуйте!
Коллеги, у вас есть какие-то новости по вопросу? Или сроки поступления решения?
Aleksey
Сообщения: 2091
Зарегистрирован: 22 апр 2010, 02:57

Re: При печати изменяются поля текстового поля

Сообщение Aleksey » 05 мар 2020, 21:33

Здравствуйте,

К сожалению, пока что никаких результатов.

Спасибо.
Ответить