Rich Text Format (RTF) — свободный межплатформенный формат хранения размеченных текстовых документов, предложенный Microsoft. Первая версия стандарта RTF появилась в 1987 году, с тех пор спецификация формата несколько раз изменялась и дополнялась. RTF-документы поддерживаются большинством современных текстовых редакторов. Под Microsoft Windows это, как правило, осуществляется с помощью стандартных библиотек, входящих в состав системы.
Настройки экспорта

Параметр установки диапазона страниц отчета, которые будут обработаны и преобразованы.
Параметр Разрешение изображения (Image Resolution) предоставляет возможность изменить количество пикселей на дюйм (свойство изображения PPI (Pixels Per Inch)).
Параметр Качество изображения (Image Quality) предоставляет возможность изменить качество изображений.
Параметр Режим экспорта (Export Mode) предоставляет возможность определить представление данных отчета после экспорта:
Значение Таблица (Table) - после экспорта весь отчет будет представлять собой таблицу, где каждый компонент отчета - ячейка в таблице. Все компоненты будут в разных ячейках, но между ними образуется связь.
Значение Рамка (Frame) - после экспорта каждый компонент будет представлять собой отдельную рамку, но взамосвязи между ними не будет.
Параметр Использовать колонтитулы страницы (Use Page Headers and Footers) предоставляет возможность определить бэнды Заголовок страницы и Итог страницы как верхний и нижний колонтитул документа в MS Word. Если данный параметр не установлен, то после экспорта заголовок и итог страницы будут представлять собой ячейки таблицы или отдельные рамки. При этом, в случае редактирования отчета, они могут изменить свое местоположение. Если данный параметр включен, то данные бэнды будут выводится как объекты колонтитул в MS Word.
Флажок Убрать пустое место внизу страницы (Remove Empty Space at Bottom of Page) предоставляет возможность отображать данные друг за другом минимизируя пустое место внизу страницы. Если данный параметр установлен, то при наличии пустого места, часть данных с последующей страницы будет перенесена на пустое место. Если данный параметр выключен - пустое место игнорируется, и отчет будет отображен также, как во вьювере или на вкладке Просмотр.
Параметр, который предоставляет возможность открыть выходной документ, после окончания процесса экспорта.
Режимы работы
Экспорт в формат RTF имеет 2 основных режима работы:
Frames - все объекты передаются как rtf-объекты "рамка" (frame); в этом режиме наиболее точно передается расположение объектов на странице, но затруднено редактирование полученного документа.
Table - табличный режим, в этом режиме весь отчет преобразуется в одну большую сплошную таблицу; при преобразовании может происходить некоторое изменение объектов, но полученный документ очень удобен для редактирования, и поэтому применяется чаще всего и выбран как режим экспорта по умолчанию.
Также существует еще 2 режима работы, которые устарели и оставлены для совместимости:
WinWord - аналогично Frames, но все объекты передаются как объекты "рамка" MS-Word.
TabbedText - аналогично экспорту в текстовый формат, положение текста задается с помощью пробелов и табуляции.
Табличный режим
В этом режиме весь отчет преобразуется в одну большую сплошную таблицу. При преобразовании может происходить некоторое изменение объектов, но полученный документ очень удобен для редактирования.
В зависимости от значения свойства "Use Page Headers and Footers" отчет экспортируется следующим образом:
значение равно false - отчет экспортируется как есть, и будет выглядеть так же, как в превью;
значение равно true - отчет дополнительно обрабатывается, все вносимые изменения описываются ниже.
Список вносимых изменений документа:
PageHeaders и PageFooters экспортируются как объекты MS-Word. Соответственно они вырезаются из таблицы, и все остальные бэнды идут сплошной таблицей. Это очень удобно, если необходимо потом дорабатывать полученный документ, например вставлять строки или редактировать текст в ячейках с изменением размера ячеек; при этом все данные сдвигаются, а хедеры и футеры страницы остаются на своих местах. (Нюанс: берутся хедер и футер с первой страницы документа, остальные игнорируются; дополнительно: произведена доработка, и теперь ищется хедер и на второй странице; если у этого хедера свойство PrintOn=ExceptFirstPage, то экспортируется правильно (используя теги RTF) - хедера на первой странице не будет).
Если у Header свойство PrintOnAllPages включено, то он экспортируется как заголовок таблицы, и соответственно правильно отображается на каждой странице при последующем редактировании документа.
Высота строк не экспортируется (режим "не задано"; по умолчанию стоит режим "точно").
Если поле Tag не пустое, то экспортируется не поле Text, а содержимое поля Tag. При этом внутри строки могут находиться следующие выражения, которые заменяются на команды MS-Word:
Тэг
|
Описание
|
#PageNumber#
|
Номер текущей страницы (PAGE)
|
#TotalPageCount#
|
Общее количество страниц в документе (NUMPAGES)
|
#PageRef Bookmark#
|
Номер страницы, на которой расположена закладка (PAGEREF)
|
Например, в поле Tag можно записать следующее выражение:
Страница #PageNumber# из #TotalPageCount#
При экспорте #PageNumber# и #TotalPageCount# будут заменены на поле "Номер страницы" и "Всего страниц" и будут автоматически меняться с изменением текста. В поле Tag можно также вписать следующие строки-команды:
Команды
|
Описание
|
rtfparagraph
|
Содержимое The TextBox, RichTextBox и Image выводится как простой текст, в разрыве таблицы;
|
rtfnewpage
|
Перед текстбоксом вставляется разрыв страницы
|
Существует также возможность экспортировать отдельные листы темплейта в отдельные разделы документа со своими хедерами/футерами. Для этого надо использовать свойство страницы ExcelSheet. Принцип работы свойства следующий: все последовательные страницы отчета с одинаковым значением свойства ExcelSheet объединяются в группы, затем каждая группа экспортируется как отдельный раздел документа со своими хедерами/футерами. По умолчанию это свойство не заполнено, и весь отчет экспортируется как один раздел.
|
|
Известные проблемы
Известная особенность MS-Word: если в какой-нибудь строке таблицы установить верхний или нижний отступ одной из ячеек, то такой же отступ установится во всех ячейках строки. Поэтому, если в каком-нибудь текстовом компоненте установить верхний или нижний margins, после экспорта в табличном режиме такой же отступ будет у всей строки таблицы, и весь текст может сместиться вниз. Что интересно, в OpenOffice этот момент отрабатывается правильно.
Экспорт в формат RTF базируется на спецификации RTF версия 1.4 от 9/1995. Созданные файлы RTF могут быть корректно открыты в Microsoft Word начиная с версии 97 (Office 97). В Microsoft Word 95 созданный файл RTF будет иметь следующие ограничения при отображении:
не поддерживается вертикальное выравнивание в ячейках;
не поддерживаются некоторые параметры страницы;
некоторые цвета отображаются неверно.
|