RichText - неправильный вывод (что-то в профиле Windows)

Обсуждение Stimulsoft Reports.NET
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Леонид »

Добрый день, уважаемые!

В связи с переходом на последний пререлизный билд (Stimulsoft Reports.Net 2011.05.12) возникла проблема с печатью компонента RichText'а.
Конкретно, такая проблема возникла на 4-х компьютерах из несколько сотен используемых.

Проявляется в следующем: пользователь выводит отчёт с договором - выводится пустой лист.
При этом, выявили, что проблема заключается именно в профиле пользователя. То есть, если зайти в Windows под другим пользователем и распечатать договор, то всё великолепно.

Иными словами, при каких-то настройках пользователя RichText просто не печатается и всё, выдаёт пустой лист.

Сам отчёт (вырезал только реквизиты фирмы) в приложении. Но для теста можно взять пустой отчёт, вставить туда RichText и вписать какой-либо текст (например из книги).

Если Вам не удастся повторить ситуацию, то хотя бы подскажите, где копать, какие настройки использует элемент RichText, чтобы можно было понять от чего это зависит.
Вложения
Типовой договор.mrt
(141.45 КБ) 268 скачиваний
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Ivan »

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

Ранее мы не сталкивались с такой проблемой.
Уточните пожалуйста некоторые детали:
- на проблемных компьютерах RichText выводится в превью?
- если не выводится: есть ли какие нибудь RenderedMessages при построении отчета в дизайнере?
- если не выводится: при установке свойства Wysiwyg для RichText что-нибудь изменяется?
- если выводится в превью: на виртуальный принтер тоже печатается пустой лист?

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Леонид »

Ivan писал(а): - на проблемных компьютерах RichText выводится в превью?
Выводится пустой лист именно в preview.
Ivan писал(а): - если не выводится: есть ли какие нибудь RenderedMessages при построении отчета в дизайнере?
Нет, никаких сообщений не выводится, ни warning'ов, ни тем более ошибок. Отчёт просто выдаёт один пустой лист (хотя сам договор на нескольких страницах, на каждой из которых свой RichText).
Ivan писал(а): - если не выводится: при установке свойства Wysiwyg для RichText что-нибудь изменяется?
Кроме того, что перестают работать HTML-теги (что логично) ничего вроде визуально не меняется.
Ivan писал(а): - если выводится в превью: на виртуальный принтер тоже печатается пустой лист?
Да, на принтер печатается, как в превью.

Ещё, что возможно может помочь, - отчёт этот у нас как работал, так и работает уже с 2010-го года (меняется только версия отчётной системы, т.е. dll'ки StimulReport'а). Последняя версия, в которой он работал на всех компьютерах корректно была 2010.2.751.0. В этой версии на некоторых компьютерах не работает, и помогает только переустановка профиля, что занимает огромное количество времени, т.к. у пользователей много данных.

Видимо, Вы изменили какой-то кусок кода, когда правили проблему с крупным шрифтом. Теперь проблемы нет, но на некоторых компьютерах появилась описываемая.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Леонид »

Только что выяснилась интересная закономерность.

На тех компьютерах, на которых не работает тот отчёт с RichText'ом не работает так же другой простой одно страничный отчёт (см. приложение), но с обычным компонентом Text, в котором есть html-теги.

Возможно это натолкнёт Вас на какую-либо мысль. Однако, вероятно, что этот баг связан либо с парсером html-тегов в компонентах, либо с безопасностью, выставленного где-то в самом профиле, а возможно ещё с чём-то другим.
Вложения
Акт зачёта взаимных требований.mrt
(14.93 КБ) 307 скачиваний
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Ivan »

Здравствуйте.
leon писал(а):
Ivan писал(а): - если не выводится: есть ли какие нибудь RenderedMessages при построении отчета в дизайнере?
Нет, никаких сообщений не выводится, ни warning'ов, ни тем более ошибок. Отчёт просто выдаёт один пустой лист (хотя сам договор на нескольких страницах, на каждой из которых свой RichText).
Очень странно. Даже если компонент не рендерится, страница рендериться должна.
Если отчет содержит несколько страниц, то и пустых страниц должно получаться столько же.
Если же страница получается одна - значит построение отчета было прервано, и должны появиться хоть какие-нибудь сообщения или ошибки.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Леонид »

День добрый, уважаемые!

Поднимаю в очередной раз проблему вывода на печать.

Напомню суть: в отчёте в любом из компонентов Text или RichText, если вы используете HTML-теги, то для этого нужно установить TextQuality в WYSIWYG. При этом, по не понятным причинам, и опять-таки не на всех компьютерах, при выводе отчёта на печать показывается одна пустая страница, независимо от того, сколько реально в отчёте страниц - показывается только одна пустая, и в preview, и на виртуальный и на реальный принтер печатается белый лист.

Файл примера, который не печатается в приложении. Самое интересное в том, что, каждый из вас, кто скачает его - скажет, - "Да тут всё печатается! Чё он гонит?!". Да, так и есть. Поэтому я и описываю то, что причину выяснить не удалось. Но, то, что она на 100% связана с версией StimulReport'а - это точно. Так как, ещё раз повторюсь, в версии 2010.2.751.0 всё печатается, даже на тех компьютерах, где не печатается на версии 2011.05.12.

Для тех, кто столкнётся или сталкивался с данной проблемой. Да, банальное, но очень энергоёмкое решение - создание нового профиля Windows для пользователя и перенос (при необходимости) всех его данных (почты, личных файлов и пр.).

Однако, сегодня выяснилось (благодаря нашему админу из Казани), что в реестре достаточно подправить один ключик, чтобы всё начало отображаться.
Решение: в ветке реестра HKEY_CURRENT_USER\Control Panel\Desktop исправить ключ FontSmoothingType в значение 1.

Каким образом параметр сглаживания шрифтов влияет на отображение тегов в отчёте - загадка, но то, что после исправления это начинает работать - неоспоримый факт.
Причём, самое интересное то, что мне не удалось, меняя значение ключа FontSmoothingType (0, 1 и 2), добиться того, чтобы на тех компьютерах, где отчёт выводился нормально, он перестал бы выводиться.

Возможно кому-то из программистов поможет эта информация, а также команду разработчиков StimulReport'а натолкнёт на какую-то мысль, как связан параметр реестра FontSmoothingType и включение html-тегов у компонентов RichText и Text в TextQuality в WYSIWYG.
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Ivan »

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

Спасибо за подробное описание проблемы и варианта её решения. Мы будем советовать этот вариант нашим клиентам, у которых возникнет такая проблема.
К сожалению, нам пока не удалось воспроизвести эту ситуацию ни на одном из доступных нам компьютеров, поэтому мы не определили причину проблемы.
Но за прошедшие несколько месяцев мы сделали несколько улучшений в этой области. Попробуйте последний билд, возможно что-нибудь изменилось.

Также уточните пожалуйста, возникает ли проблема, если в отчете есть всего один компонент, RichText.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Леонид »

День добрый!
Также уточните пожалуйста, возникает ли проблема, если в отчете есть всего один компонент, RichText.
Проблема возникает независимо от того какое количество компонентов в отчёте.

К примеру, в отчёте (из первого поста) "Типовой договор.mrt", там один компонент RichText, на каждой странице свой. Но сути это не меняет, в другом отчёте у нас используется обычный компонент Text с TextQuality = Wysiwyg, в котором используются HTML-теги (иначе бы зачем нам Wysiwyg). Так вот, при печати этого отчёта не печатаются только те компоненты Text, в которых используются теги, т.е. они просто пустые, а остальное печатается.
Единственное, мы не проверили, связано ли это с тегами или только с TextQuality = Wysiwyg. Однако, думаю, что со вторым, т.к., когда мы просто изменили режим сглаживания шрифта (FontSmoothingType в реестре, хотя возможно даже можно было бы изменить его прямо из визуальных настроек Windows) всё заработало.
Но за прошедшие несколько месяцев мы сделали несколько улучшений в этой области. Попробуйте последний билд, возможно что-нибудь изменилось.
Да, это хорошо, но дело в том, что я пробовал добиться того, чтобы на моём компьютере перестали печататься такие отчёты, путём изменения FontSmoothingType в реестре, но у меня ничего не вышо. То есть, вывод такой, как только мы поменяли значение FontSmoothingType и перезагрузили компьютер (можно, кстати просто делать log off, log on) - всё работает, и заставить отчёт не работать уже не получится.

Иными словами у нас на данный момент не осталось таких компьютеров, на которых можно проверить свежий билд StimulReport'а. Ну это ничего, главное мы знаем решение проблемы, тем более, что возникает она очень редко, и что самое досадное - доказать её наличие не представляется возможным, если это не увидеть лично.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

RichText - неправильный вывод (что-то в профиле Windows)

Сообщение HighAley »

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

Сообщите нам, если нужна дополнительная помощь.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: RichText - неправильный вывод (что-то в профиле Windows)

Сообщение Леонид »

Добрый день!

Спустя много лет возникла другая проблема, - разный шрифт на разных версиях ОС Windows. На Win7/8 всё отображается корректно, а на Win10 уже нет, - слишком мелкий штрифт, хотя указан в RichText "font size=9.5", а на практике на Win7/8 так и есть, а на Win10 получается на страницу меньше, т.е. визуально там штрифт какой-то другой, не 9.5, а 6 или 7-й кегль.

RichText имеет те же настройки, т.е. WYSIWYG. Мы не можем поставить другой, например Typographic, т.к. используем HTML-теги внутри.
Проверили при прочих равных условиях, т.е. тот же отчёт, те же данные, но разные ОС, Win8 и Win10 в нашем случае.

Скриншоты, как это выглядит во вложении. Что делать, почему так? Конечно на данный момент у нас не очень много машин с Win10, но со временем, как вы понимаете, они будут у всех.

Версия Stimul: 2017.2.1.0.

Для примера всё так же, можно взять "Типовой договор.mrt" из первого поста данного топика.

P.S. Попробовали переставить масштаб с 125% на 100% (на Win10), - стало печатать 4 страницы, не совсем так, как в Win8, но очень похоже, и это приемлемо.
После чего, переставили обратно штрифт на 125%, - ничего не изменилось, т.е. теперь печатется нормально.

Чтобы вы понимали, это необходимо, в двух случаях, в моём 125% потому что монитор у меня сейчас большой (Dell U2515H), но пользователи ставят даже крупный шрифт 125% по причине плохого зрения.

В любом случае проблема есть. Надо её решать.
Вложения
Clipboard03.png
Clipboard03.png (51.57 КБ) 5826 просмотров
Clipboard02.png
Clipboard02.png (668.02 КБ) 5826 просмотров
Clipboard01.png
Clipboard01.png (455 КБ) 5826 просмотров
Ответить