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

 

 

Настройки экспорта

 

 

img_1 Параметр установки диапазона страниц отчета, которые будут обработаны и преобразованы.

img_2 Параметр Разрешение изображения (Image Resolution) предоставляет возможность изменить количество пикселей на дюйм (свойство изображения PPI (Pixels Per Inch)).

img_3 Параметр Качество изображения (Image Quality) предоставляет возможность изменить качество изображений.

img_4 Параметр Режим экспорта (Export Mode) предоставляет возможность определить представление данных отчета после экспорта:

strel11 Значение Таблица (Table) - после экспорта весь отчет будет представлять собой таблицу, где каждый компонент отчета - ячейка в таблице. Все компоненты будут в разных ячейках, но между ними образуется связь.

strel11 Значение Рамка (Frame) - после экспорта каждый компонент будет представлять собой отдельную рамку, но взамосвязи между ними не будет.

 

img_5 Параметр Использовать колонтитулы страницы (Use Page Headers and Footers) предоставляет возможность определить бэнды Заголовок страницы и Итог страницы как верхний и нижний колонтитул документа в MS Word. Если данный параметр не установлен, то после экспорта заголовок и итог страницы будут представлять собой ячейки таблицы или отдельные рамки. При этом, в случае редактирования отчета, они могут изменить свое местоположение. Если данный параметр включен, то данные бэнды будут выводится как объекты колонтитул в MS Word.

 

Информация

 

Если флажок Использовать колонтитулы страницы включен, то следует учитывать, что высота строк в этом случае, будет минимально допустимой.

 

 

img_6 Флажок Убрать пустое место внизу страницы (Remove Empty Space at Bottom of Page) предоставляет возможность отображать данные друг за другом минимизируя пустое место внизу страницы. Если данный параметр установлен, то при наличии пустого места,  часть данных с последующей страницы будет перенесена на пустое место. Если данный параметр выключен - пустое место игнорируется, и отчет будет отображен также, как во вьювере или на вкладке Просмотр.

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

 

 

Режимы работы

Экспорт в формат RTF имеет 2 основных режима работы:

strel11 Frames - все объекты передаются как rtf-объекты "рамка" (frame); в этом режиме наиболее точно передается расположение объектов на странице, но затруднено редактирование полученного документа.

strel11 Table - табличный режим, в этом режиме весь отчет преобразуется в одну большую сплошную таблицу; при преобразовании может происходить некоторое изменение объектов, но полученный документ очень удобен для редактирования, и поэтому применяется чаще всего и выбран как режим экспорта по умолчанию.

 

Также существует еще 2 режима работы, которые устарели и оставлены для совместимости:

strel11 WinWord - аналогично Frames, но все объекты передаются как объекты "рамка" MS-Word.

strel11 TabbedText - аналогично экспорту в текстовый формат, положение текста задается с помощью пробелов и табуляции.

 

 

Табличный режим

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

 

В зависимости от значения свойства "Use Page Headers and Footers" отчет экспортируется следующим образом:

strel11 значение равно false - отчет экспортируется как есть, и будет выглядеть так же, как в превью;

strel11 значение равно true - отчет дополнительно обрабатывается, все вносимые изменения описываются ниже.

 

Список вносимых изменений документа:

strel11 PageHeaders и PageFooters экспортируются как объекты MS-Word. Соответственно они вырезаются из таблицы, и все остальные бэнды идут сплошной таблицей. Это очень удобно, если необходимо потом дорабатывать полученный документ, например вставлять строки или редактировать текст в ячейках с изменением размера ячеек; при этом все данные сдвигаются, а хедеры и футеры страницы остаются на своих местах. (Нюанс: берутся хедер и футер с первой страницы документа, остальные игнорируются; дополнительно: произведена доработка, и теперь ищется хедер и на второй странице; если у этого хедера свойство PrintOn=ExceptFirstPage, то экспортируется правильно (используя теги RTF) - хедера на первой странице не будет).

strel11 Если у Header свойство PrintOnAllPages включено, то он экспортируется как заголовок таблицы, и соответственно правильно отображается на каждой странице при последующем редактировании документа.

strel11 Высота строк не экспортируется (режим "не задано"; по умолчанию стоит режим "точно").

strel11 Если поле 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 будет иметь следующие ограничения при отображении:

strel11 не поддерживается вертикальное выравнивание в ячейках;

strel11 не поддерживаются некоторые параметры страницы;

strel11 некоторые цвета отображаются неверно.