Форматировать текст RTF в несколько текстовых полей

У меня есть форматированное текстовое поле в моей форме wpf, которое пользователь вводит без ограничений по длине. Однако в моих активных отчетах у меня есть страницы с текстовыми полями с фиксированным пространством на каждой странице. Есть ли способ выяснить, какая часть форматированного текста поместится в текстовое поле, написать его, а затем продолжить писать остальное на следующей странице, пока у меня не закончится текст для записи?


person steve    schedule 12.03.2012    source источник
comment
Не совсем вопрос, но вы можете отформатировать текст в FlowDocument и отобразить с помощью FlowDocumentPageViewer.   -  person paparazzo    schedule 13.03.2012
comment
Мне нужен способ отправки данных, печатаемых на каждой странице, в мой активный отчет, чтобы их можно было распечатать там.   -  person steve    schedule 15.03.2012


Ответы (1)


Вы можете измерить длину обычного текста на странице ActiveReports, используя метод MeasureText объекта Page. См. следующую документацию: http://www.datadynamics.com/help/activereports6/ActiveReports.Document~DataDynamics.ActiveReports.Document.Page~MeasureText.html

Если у вас есть вывод в формате RTF (на основании предоставленной информации я не уверен, есть ли у вас или нет), вероятно, невозможно вручную измерить текст и разбить его просто потому, что текст в формате RTF сложен, а разбить его на части сложнее. Тем не менее, элемент управления RichEdit/RTF в ActiveReports должен уметь разбивать на страницы/разбивать страницы, если вы можете позволить этому элементу управления расти.

person Scott Willeke    schedule 13.03.2012
comment
это именно моя проблема: я хочу сохранить форматирование, но я не могу позволить ему произвольно расти. У меня есть определенное количество места на каждой странице для печати. - person steve; 15.03.2012
comment
В ActiveReports 6 вы не можете измерять и перекомпоновывать RTF вручную, как обычный текст. Просто это очень сложно сделать. Богатое управление редактированием автоматически разрывает RTF для вас, но только на границах страницы, вы не можете определить произвольную границу внутри страницы. Однако в ActiveReports 7 (который появится очень скоро) они работают над некоторыми вещами, которые могут вам здесь помочь. Я рекомендую вам связаться с командой управления продуктом, чтобы принять участие в ранних частных бета-версиях этого. Чтобы принять участие в бета-тестировании, свяжитесь с Джеймсом Джонсоном по адресу james dot johnson, Grapecity, точка com. - person Scott Willeke; 19.03.2012