Форматы файлов
Что такое RTF? Как устроен формат Rich Text Format
RTF - формат документов, созданный Microsoft в 1987 году, который описывает форматированный текст обычными символами ASCII. Разбираем его структуру, ограничения и тонкости конвертации.
Автор: Hemen Dönüştür Editör EkibiОпубликовано: 7 мин чтения

О RTF редко говорят, но вы почти наверняка сталкивались с ним много раз: в меню «Экспорт» старой программы, как с форматом сохранения по умолчанию в TextEdit на Mac или как с «самым надежным вариантом» при переносе документа между текстовыми редакторами. Rich Text Format описывает форматирование, такое как полужирный, курсив, шрифты, цвета и таблицы, с помощью обычных текстовых символов. В этой статье расскажем, как появился RTF, как выглядит файл RTF изнутри, в чем он хорош, где уступает и на что обратить внимание при его конвертации.
Что такое RTF?
RTF - текстовый формат, разработанный Microsoft для переноса документов между разными программами и операционными системами. Это не двоичный формат вроде DOC: откройте файл RTF в Блокноте, и вы сможете прочитать свой текст вперемешку с командами, начинающимися с обратной косой черты. Но в отличие от HTML, он не предназначался для написания вручную. Его задача в том, чтобы одна программа могла прочитать документ, созданный другой, вместе с форматированием.
Сразу стоит развеять одну распространенную путаницу: вариант «форматированный текст» (rich text) в почтовых клиентах и веб-формах обычно означает просто текст с оформлением и часто является HTML. RTF, о котором идет речь в этой статье, - это конкретный формат файла с расширением .rtf и собственным синтаксисом.
Краткая история
RTF разработали в середине и конце 1980-х годов Ричард Броди, Чарльз Симони и Дэвид Люберт из команды Microsoft Word. Первые программы чтения и записи RTF вышли в 1987 году вместе с Word 3.0 для Macintosh и реализовывали RTF 1.0. В следующие двадцать лет формат развивался вместе с Word:
| Версия | Дата | Примечания |
|---|---|---|
| 1.0 | 1987 | Первая версия, вместе с Word 3.0 (Mac) |
| 1.1 | 1989 | Встраивание шрифтов, вместе с Word 4 |
| 1.2 - 1.4 | 1993 - сентябрь 1995 | Версии, выходившие с Word 5, Word 6 и Word 95 |
| 1.5 | Апрель 1997 | Поддержка Unicode в Word 97 (управляющее слово \u) |
| 1.6 - 1.8 | Май 1999 - апрель 2004 | Версии, выходившие с Word 2000, 2002 и 2003 |
| 1.9.1 | Март 2008 | Последняя версия, совместимая с Word 2007 |
После версии 1.9.1 Microsoft перестала развивать спецификацию RTF. Согласно описанию формата в Библиотеке Конгресса США, Microsoft указывает, что функции, появившиеся в Word 2010 и более поздних версиях, при сохранении в RTF не сохраняются. Иными словами, RTF по-прежнему поддерживается, но больше не развивается.
Что находится внутри файла RTF?
RTF строится на трех элементах:
- Группы: участки, заключенные в фигурные скобки
{ }. Изменение форматирования внутри группы заканчивается, когда группа закрывается. - Управляющие слова: последовательности букв, начинающиеся с обратной косой черты, например
\b(полужирный) или\fs24(размер шрифта в половинах пункта; 24 означает 12 пт). Они могут принимать числовой параметр:\b1включает полужирный, а\b0выключает его. - Управляющие символы: обратная косая черта, за которой следует один небуквенный символ, например
\~(неразрывный пробел) или\'e9(символ из кодовой страницы в шестнадцатеричной записи).
Простой документ RTF выглядит так:
{\rtf1\ansi\ansicpg1252\deff0
{\fonttbl{\f0 Times New Roman;}}
{\colortbl;\red200\green0\blue0;}
\f0\fs24 This is a {\b bold} word and some {\cf1 red} text in a caf\'e9.\par
}
Файл открывается последовательностью {\rtf1, за которой следуют набор символов (\ansi) и кодовая страница (\ansicpg1252, западноевропейская кодовая страница Windows). Таблица шрифтов (\fonttbl) и таблица цветов (\colortbl) объявляются в начале, а в тексте на них ссылаются по номеру. \par завершает абзац. Остальная часть документа содержит настройки разделов, колонтитулы, абзацы и таблицы; Библиотека Конгресса отмечает, что RTF рассматривает таблицы как разновидность абзацев.
Символы за пределами ASCII можно записать двумя способами. Старый способ использует шестнадцатеричные escape-последовательности вроде \'e9, которые ссылаются на символ в объявленной кодовой странице (E9 в кодовой странице 1252 означает «é»). Способ, добавленный в RTF 1.5, использует управляющие слова Unicode, например ၆?: число задает код символа в Unicode (1046 - это русская буква «Ж»), а символ после него служит заменой для программ без поддержки Unicode. RTF не хранит текст в кодировке Unicode вроде UTF-8; сам файл обычно состоит из 7-битных символов ASCII.
Где используется RTF?
- Перенос документов между программами: передача форматированного текста между разными текстовыми редакторами или операционными системами.
- Отчеты из программ: многие деловые и отраслевые приложения формируют отчеты с оформлением в RTF, не завися от Word, потому что генерировать RTF гораздо проще, чем DOCX.
- Буфер обмена: RTF - один из распространенных форматов, которые используются при копировании форматированного текста в Windows и macOS.
- Простые редакторы: WordPad и TextEdit используют RTF по умолчанию.
Сильные и слабые стороны
| Сильные стороны | Слабые стороны |
|---|---|
| Читается почти любым текстовым редактором | Не развивается с 2008 года |
| Текстовый формат, поэтому текст легко извлечь | Файлы с изображениями могут быть очень большими |
| Нет языка макросов | Встроенные объекты OLE и ссылки на шаблоны могут быть угрозой безопасности |
| Прост в генерации, идеален как вывод программ | Часто непонятно, какую версию и какие функции поддерживает программа |
| Прямая и обратная совместимость между версиями | Продвинутые функции Word теряются |
О безопасности: RTF не может содержать макросы, но и безрисковым его не назовешь. Записи, собранные в Википедии, показывают, что файлы RTF использовались в атаках через внедрение шаблонов и встроенные объекты OLE; связанные с этим уязвимости в старых версиях WordPad и в Word были исправлены в 2017 и 2015 годах. Относитесь к файлам RTF из неизвестных источников так же осторожно, как к любым другим документам.
Какие программы открывают RTF?
Открывать и сохранять RTF умеют Microsoft Word, LibreOffice Writer, Apple Pages, TextEdit и WPS Office. WordPad, долгое время служивший стандартным редактором RTF в Windows, больше не входит в актуальные версии Windows 11, поэтому там понадобится Word или LibreOffice. Библиотека Конгресса также отмечала, что файлы RTF не открывались в веб-версии и версии Word для планшетов. Google Документы умеют импортировать RTF и скачивать документы в RTF.
Частые проблемы и их решение
Символы с диакритикой или кириллица отображаются неправильно
Если программа, создавшая файл, объявила не ту кодовую страницу или использовала шестнадцатеричные escape-последовательности из другой кодовой страницы вместо управляющих слов Unicode, символы подменяются: слово «Привет» превращается в «Ïðèâåò», классический признак того, что перепутаны кодовые страницы 1251 (кириллица) и 1252 (западноевропейская). Проще всего исправить исходник, открыв файл в Word или LibreOffice и сохранив его в DOCX.
Файл намного больше, чем ожидалось
RTF обычно хранит изображения в виде шестнадцатеричного текста, а не двоичных данных, из-за чего объем данных изображений примерно удваивается. Для документов с изображениями DOCX или PDF дают гораздо меньшие файлы.
Форматирование меняется в разных программах
Каждая программа поддерживает свое подмножество RTF и игнорирует незнакомые управляющие слова. Если внешний вид должен быть точным, отправляйте окончательную версию в PDF.
Советы по конвертации файлов RTF
В нашем конвертере файлы RTF загружаются на наш сервер, обрабатываются в LibreOffice и удаляются в течение 30 минут. Конвертация между RTF, DOCX, DOC и PDF выполняется напрямую без промежуточного шага, поэтому верстка страниц, колонтитулы, таблицы и нумерация списков сохраняются.
- RTF в Word - лучший вариант, чтобы редактировать вывод устаревших программ и уменьшить размер файла.
- RTF в PDF фиксирует внешний вид, который иначе различается от программы к программе.
- RTF в TXT убирает все управляющие слова и оставляет только читаемый текст.
- Используя Word в RTF, помните, что у функций, появившихся после Word 2010 (новые типы диаграмм, некоторые параметры макета), может не быть аналога в RTF.
- Если из простого текста нужен документ с оформлением, TXT в RTF переносит текст абзац за абзацем. RTF, полученный из таких источников, как HTML и Markdown, также сохраняет полужирный текст, заголовки, списки и таблицы благодаря модулю экспорта RTF в LibreOffice.
Часто задаваемые вопросы
Чем RTF отличается от DOCX?
RTF описывает форматирование управляющими словами внутри обычного текста и не менялся с 2008 года. DOCX - актуальный стандарт на основе ZIP, состоящий из XML-частей. DOCX поддерживает больше функций и для документов с изображениями дает гораздо меньшие файлы.
Может ли файл RTF содержать макросы?
Нет, в RTF нет языка макросов. Однако встроенными объектами OLE и ссылками на шаблоны могут злоупотреблять, поэтому будьте осторожны с файлами RTF из неизвестных источников.
Поддерживается ли RTF до сих пор?
Да, Word и другие текстовые редакторы по-прежнему открывают и сохраняют RTF. Но последняя версия спецификации, 1.9.1, вышла в марте 2008 года, и Microsoft больше не развивает формат.
Как открыть файл RTF в Windows 11?
В версиях без WordPad откройте его в Word, LibreOffice Writer или WPS Office. Если файл нужно только прочитать, можно также конвертировать его в PDF и открыть в браузере.
Почему в RTF ломаются специальные символы?
Обычно потому, что программа, создавшая файл, объявила неправильную кодовую страницу. Программы, которые записывают управляющие слова Unicode, полностью избегают этой проблемы.


