• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Получение значения IRTFText на C#

Автор Bobua, 24.04.24, 09:46:46

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Bobua

Всем добрый день, есть ли правильный способ получить значение текста из интерфейса IRTFText?
Очень часто получаемое значение выглядит вот так:

{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil\fcharset204{\*\fname Arial;}Arial CYR;}{\f1\fnil\fcharset0 Arial;}{\f2\fnil Arial;}}
\viewkind4\uc1\pard\f0\fs22\'ce\'f8\'e8\'e1\'ea\'e0 \'ef\'f0\'e8 \'ef\'e5\'f0\'e5\'e2\'ee\'e4\'e5 \'f1\'ee\'f1\'f2\'ee\'ff\'ed\'e8\'ff. \'ce\'e1\'f0\'e0\'f2\'e8\'f2\'e5\'f1\'fc \'ea \'e0\'e4\'ec\'e8\'ed\'e8\'f1\'f2\'f0\'e0\'f2\'ee\'f0\'e0\'ec \lang1033\f1 WF!\lang1049\f2\par
}

При этом такая проблема присутствует если использовать значение напрямую из интерфейса:
wfTask = wfObject as IWFTask;
res += wfTask.Text.Value;

А также если преобразовывать то же значение через API:
            DataProvider.DataSet dsOperationInfo = new DataProvider.DataSet
            {
                DATA = ConfigL.WF.RunMethod("GetInfoAboutStage", new object[] { Id })
            };

            MemoryStream memoryStream = new MemoryStream(dsOperationInfo.get_FieldValue("_TASK"));
            StreamReader streamReader = new StreamReader(memoryStream, Encoding.GetEncoding("windows-1251"));
            Name = streamReader.ReadToEnd();
            streamReader.Close();
            memoryStream.Close();

При этом некоторые значения преобразуются корректно, а некоторые нет.
Подскажите пожалуйста, может я использую неверную кодировку?

Chaa

Там же есть метод ToPlain, который RTF преобразует в текст.
+ Благодарностей: 1