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

Передача изображения в RichTextBox.

Добавлено: 05 дек 2016, 09:18
desan1986
Здравствуйте, пытаюсь передать в отчет сгенерированный в .net rtf файл с помощью компонента RichTextBox. При открытии файла в текстовых редакторах все отображается нормально. При импорте в отчет выходит только текст, без изображения. Не могли бы вы помочь мне в решении данной проблемы.

В отчете считываю файл с помощью кода:

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

System.IO.StreamReader reader = new System.IO.StreamReader("filePath"); 
string str = reader.ReadToEnd(); 
reader.Close(); 
e.Value = System.Xml.XmlConvert.EncodeName(StiRichText.PackRtf(str)); 
В событии get value RichTextBox.

https://cloud.mail.ru/public/8dJ1/DomUnPkxV Файл.
https://cloud.mail.ru/public/HqCg/XqaYXwYkV Файл отчета.

Выяснилось, что картинки пропадают при экспорте отчета в pdf. С остальными форматами все нормально, экспортирую из .net.

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

var settings = new StiPdfExportSettings { ImageQuality = 1.0f, ImageResolution = 300, EmbeddedFonts = true };
report.ExportDocument(StiExportFormat.Pdf, fullpath, settings);

Re: Передача изображения в RichTextBox.

Добавлено: 07 дек 2016, 11:09
Ivan
Здравствуйте.

В большинстве экспортов rtf экспортируется как изображение.
В pdf-экспорте для уменьшения размера файла содержимое rtf сначала раскладывается на примитивы.
Но к сожалению, в Net Framework нет полноценной поддержки работы с RTF-файлами, и не всегда удаётся сделать это корректно.
Поэтому в вашем случае необходимо в настройках экспорта установить галочку "Экспортировать RichText как изображение".

Спасибо.

Re: Передача изображения в RichTextBox.

Добавлено: 07 дек 2016, 15:40
desan1986
Уже пробовал, не помогает. Результат в итоге тот же - картинки с текстом, а изображений из файла нет.

Re: Передача изображения в RichTextBox.

Добавлено: 08 дек 2016, 16:55
HighAley
Здравствуйте.

Уточните, пожалуйста, какую версию нашего продукта вы используете.
Попробуйте наш последний билд.
Ваш код должен выглядеть примерно так:

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

var settings = new StiPdfExportSettings { ImageQuality = 1.0f, ImageResolution = 300, EmbeddedFonts = true, ExportRtfTextAsImage = true };
Спасибо.