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

Экспорт в формат rtf

Добавлено: 25 сен 2023, 13:55
Ell
Добрый день
Делаем экспорт в формат rtf в режиме RtfTable, версия Reports.Net_2012.1
Если смотреть полученный rtf файл в блокноте, то в первой строке видим кодировку {\rtf1\ansi\ansicpg1252
С этой кодировкой не у всех показывается верно, у некоторых вместо текста крокозябры. При этом, если здесь же отредактировать 1252 на 1251, то показывается правильно.
Можно ли задать необходимую кодировку при экспорте отчета в rtf и как это сделать?

Re: Экспорт в формат rtf

Добавлено: 25 сен 2023, 21:47
Aleksey
Здравствуйте,

Уточните, пожалуйста, версию продукта, которую вы используете. Точно такую старую 2012.1 ?
Также вышлите, пожалуйста, пример отчета с данными для анализа.

Спасибо.

Re: Экспорт в формат rtf

Добавлено: 26 сен 2023, 13:38
Ell
Добрый день

К сожалению, отчет не могу приложить. Но это во всех отчетах. Да, версия такая старая(
Можете сориентировать, как получается код в rtf файле? От чего он зависит? Это ведь ваш модуль должен быть.

Re: Экспорт в формат rtf

Добавлено: 27 сен 2023, 17:54
Aleksey
Здравствуйте,

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

Спасибо.
#12563

Re: Экспорт в формат rtf

Добавлено: 29 сен 2023, 01:10
Aleksey
Здравствуйте,

В формате RTF национальные символы могут кодироваться несколькими способами.
У нас изначально реализован более простой способ, при котором размер файла немного меньше.
MS-Word и Wordpad открывают эти файлы без проблем, т.к. они не смотрят на кодировку "\ansicpg1252" а просто берут коды этих символов.
А вот многие другие приложения пытаются применять к символам указанную кодировку, и получаются "кракозяблы".

Мы знаем про этот нюанс, но ранее никто не обращался по этому поводу.
Однако в последнее время было уже несколько вопросов.
Вероятно это из-за перехода с MS-Office на другие офисные пакеты.
Поэтому мы сделали доработку, чтобы изменить способ кодирования национальных символов.
Доработка войдёт в следующий релиз.

В старой версии, к сожалению, ничего изменить нельзя.
Можно только в вашем коде обработать полученный rtf-файл, заменив все символы с кодом более 127 на их hex-представление, например символ с кодом 128 на "\'80", символ с кодом 255 на "\'ff".

Спасибо.

Re: Экспорт в формат rtf

Добавлено: 03 окт 2023, 11:45
Ell
Спасибо большое за ответ!

Re: Экспорт в формат rtf

Добавлено: 04 окт 2023, 14:56
Aleksey
Здравствуйте,

Пожалуйста.