Расширение файла RTF. Чем открыть формат rtf - простые советы

Что ж продолжим наши изыскания на предмет получения текста из различных форматов данных. Не так давно мы с вами научились вытаскивать текст из zipped-xml-based файлов (odt и docx), а также, в начале этой недели, из pdf . Сегодня мы продолжим с обещанным rtf.

Rich Text Format (он же rtf), вы могли бы подумать, достаточно забытый, хотя и не очень сложный формат представления текстовых данных. Что ж, относительно несложный для получения текста, но за свою историю: от своей первой версии до текущей 1.9.1 - он приобрёл под 300 страниц официально документации и огромное количество надстроек, которые в большей степени нам будут мешать при получении plain text"а. Попробуем их обойти...

А что там внутри?

Как уж повелось давайте заглянем вовнутрь rtf-файла и посмотрим, что там внутри:

Что мы видим? Я вижу наше любимое стихотворение «Парус». Мы видим изначально текстовый 8-битный формат данных. Это уже радует - когда в исходных данных текст, понимать, что происходит, гораздо проще. Теперь давайте разберёмся, как эти самые данные прочитать. Для этого я расскажу немного теории по теме.

Будем считать, что rtf состоит из управляющих слов , которые могут быть сгруппированы во вложенные множества. Управляющие слово начинается на обратный слэш (\), группа обёрнута в фигурные скобки ({ и }).

Управляющие слово состоит из последовательности букв английского алфавита (от a до z) и может быть завершено численным параметром (возможно отрицательным). Как вариант, слово может содержать один не цифро-буквенный ascii-символ. Всё, что не подпадает под эти правила, не является частью управляющего слова. Таким образом, последовательность вида \rtf1\ansi\ansicpg1251 без проблем делится на три слова rtf с параметром 1 (major-версия формата), ansi (текущая кодировка) и ansicpg с параметром 1251 (текущая кодовая страница под номером 1251 - т.е. Windows-1251).

Группированные множества определяют область действия управляющих слов. Таким образом, управляющие слова описанные внутри фигурных скобок работают только внутри них и всех дочерних подмножеств. Для того, чтобы правильно отработать какие слова имеют место сейчас - требуется вести стек управляющих слов. При открытии фигурной скобки создавать новый элемент-массив в стеке, в который сразу же добавлять данные предыдущего слоя стека, при закрытии скобки - удалять самый верхний слой.

Ещё стоит отметить, что некоторые управляющие слова могут быть закрыты с помощью добавления параметра ноль, а не создания новой подгруппы. Например, следующие варианты эквивалентны: This is {\b bold} text , This is \b bold \b0 text = This is bold text .

Откуда брать текст?

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

Во-первых, стоит отметить, что исходная кодировка rtf-файла - это ANSI, поэтому без всякий изысков сохранится только, английский текст. Нас же интересует, как минимум, русский текст, а ещё лучше Unicode, не так ли? Что правда, то правда - rtf хоть и старый формат, но сгодится на сохранение и того и другого.

Итак, в rtf"е есть возможность использования второй половины таблицы ASCII, та что от 128 и выше. С учётом текущей кодировки (выше управляющее слово \ansicpg), конечно же. Для этого в RTF была введена последовательность вида \"hh , где hh - это двоичный hex-код символа из таблицы ASCII.

Ну и второй, более интересный вариант, это unicode-кодированные данные. Для них в формат включено лаконично короткое ключевое слово \uABCD с цифровым параметром ABCD. ABCD в данном случае код unicode-символа в десятичной системе счисления. Всё опять просто, как вы могли заметить.

Просто, да не очень. В rtf существует ещё одно ключевое слово \ucN , которое тесно связано с Unicode. Дело в том, что формат RTF очень рьяно поддерживает совместимость со старыми устройствами, на которых возможно придётся открывать данный файл. Как вариант, подобное устройство (ну например компьютер с Windows 3.11:) не сможет прочитать Unicode, что ему делать? Для этого после каждого unicode-символа, шифрованного ключевым словом \u может быть указано от нуля до нескольких символов, которые должны быть отображены в случае, если rtf-viewer не способен отобразить или разобрать текущие данные (по документации, если просмотрщик не может отобразить верно данные, он должен их пропустить).

В связи с этим, большинство современных редакторов после unicode-управляющего слова ставят символ вопроса, как знак, что требуется показать вместо текущего символа. Но возможны и варианты, например: Lab\u915GValue . Зададимся вопросом - сколько символов требуется отобразить, если нет возможности показать Unicode. Всё опять же не очень сложно - указанное выше ключевое слово \ucN в качестве параметра N как раз и предоставляет это значение. Т.е. перед Unicode-данными обязательно появится что-то типа \uc1 , что скажет нам пропустить один символ после unicode"а.

Давайте почитаем!

Похоже, что накопленных нами данных будет достаточно, чтобы прочитать наши первые rtf-файлы. Поехали:
  1. function rtf_isPlainText($s ) {
  2. $failAt = array ("*" , "fonttbl" , "colortbl" , "datastore" , "themedata" ) ;
  3. for ($i = 0 ; $i < count ($failAt ) ; $i ++ )
  4. if (! empty ($s [ $failAt [ $i ] ] ) ) return false ;
  5. return true ;
  6. function rtf2text($filename ) {
  7. $text = file_get_contents ($filename ) ;
  8. if (! strlen ($text ) )
  9. return "" ;
  10. $document = "" ;
  11. $stack = array () ;
  12. $j = - 1 ;
  13. for ($i = 0 ; $i < strlen ($text ) ; $i ++ ) {
  14. $c = $text [ $i ] ;
  15. switch ($c ) {
  16. case "\\ " :
  17. $nc = $text [ $i + 1 ] ;
  18. if ($nc == "\\" && rtf_isPlainText($stack [ $j ] ) ) $document .= "\\" ;
  19. elseif ($nc == "~" && rtf_isPlainText($stack [ $j ] ) ) $document .= " " ;
  20. elseif ($nc == "_" && rtf_isPlainText($stack [ $j ] ) ) $document .= "-" ;
  21. elseif ($nc == "*" ) $stack [ $j ] [ "*" ] = true ;
  22. elseif ($nc == """ ) {
  23. $hex = substr ($text , $i + 2 , 2 ) ;
  24. $document .= html_entity_decode ("" . hexdec ($hex ) . ";" ) ;
  25. $i += 2 ;
  26. } elseif ($nc >= "a" && $nc <= "z" || $nc >= "A" && $nc <= "Z" ) {
  27. $word = "" ;
  28. $param = null ;
  29. for ($k = $i + 1 , $m = 0 ; $k < strlen ($text ) ; $k ++, $m ++ ) {
  30. $nc = $text [ $k ] ;
  31. if ($nc >= "a" && $nc <= "z" || $nc >= "A" && $nc <= "Z" ) {
  32. if (empty ($param ) )
  33. $word .= $nc ;
  34. else
  35. break ;
  36. } elseif ($nc >= "0" && $nc <= "9" )
  37. $param .= $nc ;
  38. elseif ($nc == "-" ) {
  39. if (empty ($param ) )
  40. $param .= $nc ;
  41. else
  42. break ;
  43. } else
  44. break ;
  45. $i += $m - 1 ;
  46. $toText = "" ;
  47. switch (strtolower ($word ) ) {
  48. case "u" :
  49. $toText .= html_entity_decode ("" . dechex ($param ) . ";" ) ;
  50. $ucDelta = @ $stack [ $j ] [ "uc" ] ;
  51. if ($ucDelta > 0 )
  52. $i += $ucDelta ;
  53. break ;
  54. case "par" : case "page" : case "column" : case "line" : case "lbr" :
  55. $toText .= "\n " ;
  56. break ;
  57. case "emspace" : case "enspace" : case "qmspace" :
  58. $toText .= " " ;
  59. break ;
  60. case "tab" : $toText .= "\t " ; break ;
  61. case "chdate" : $toText .= date ("m.d.Y" ) ; break ;
  62. case "chdpl" : $toText .= date ("l, j F Y" ) ; break ;
  63. case "chdpa" : $toText .= date ("D, j M Y" ) ; break ;
  64. case "chtime" : $toText .= date ("H:i:s" ) ; break ;
  65. case "emdash" : $toText .= html_entity_decode ("—" ) ; break ;
  66. case "endash" : $toText .= html_entity_decode ("-" ) ; break ;
  67. case "bullet" : $toText .= html_entity_decode ("•" ) ; break ;
  68. case "lquote" : $toText .= html_entity_decode ("‘" ) ; break ;
  69. case "rquote" : $toText .= html_entity_decode ("’" ) ; break ;
  70. case "ldblquote" : $toText .= html_entity_decode ("«" ) ; break ;
  71. case "rdblquote" : $toText .= html_entity_decode ("»" ) ; break ;
  72. default :
  73. $stack [ $j ] [ strtolower ($word ) ] = empty ($param ) ? true : $param ;
  74. break ;
  75. if (rtf_isPlainText($stack [ $j ] ) )
  76. $document .= $toText ;
  77. $i ++;
  78. break ;
  79. case "{" :
  80. array_push ($stack , $stack [ $j ++ ] ) ;
  81. break ;
  82. case "}" :
  83. array_pop ($stack ) ;
  84. $j --;
  85. break ;
  86. case "\0" : case "\r" : case "\f" : case "\n" : break ;
  87. default :
  88. if (rtf_isPlainText($stack [ $j ] ) )
  89. $document .= $c ;
  90. break ;
  91. return $document ;
Код с комментариями вы можете получить на

RTF или Rich Text Формат файла был оформлен в 1987 году Чарльзом Симони, Ричардом Броди, и Дэвидом Luebbert от команды разработчиков Microsoft Word, для обмена документами через кросс-платформы. Так что же такое файл RTF? Давайте выясним...

Знаете ли Вы?
RTF файлы в основном состоят из команд, написанных на ASCII кодах. Один файл состоит всего из 7-битовых символов ASCII.

Microsoft разработала RTF, чтобы преодолеть разрыв между текстовым редактором и совместимостью системы. RTF синтаксис 1.0 версии был основан на основе маркеров языка верстки. Он был разработана корпорацией Microsoft с целью форматирования документов. Языки верстки это такие языки форматирования, как HTML (Hypertext Markup Language) и SGML (стандартный обобщенный язык разметки). HTML обеспечивает форматирование документов во Всемирной паутине. SGML является обогащенной версией HTML.

В RTF-файлах, символы за пределами диапазона ASCII кодируются с помощью «управляющей последовательности". Управляющие последовательности подразделяются на: "Unicode escapes» и «code page escapes».

Unicode Escapes: это слово сопровождается 16-битовым десятичным числом. Это число описывает номер устройства Unicode UTF-16.

C ode page escapes: это слово, содержит обратный слэш и апостроф представления символа, используемого на странице кода Windows.

Эти команды в основном написаны для определения факторов, таких как форматирование текста, шрифт текста, изображений, встроенных в тексте, маржи и т.д. Форматирование необходимо для различных документов, таких как резюме, письма, руководства пользователя и т.д. Основные функции RTF документов включают жирный шрифт, курсив, подчеркивание, стили шрифтов, отступ и выравнивание (левый, центральный, правый).

Концепция RTF чтения и записи

Программное обеспечение, которое преобразует RTF-файл в отформатированный файл называется «reader». Программное обеспечение, которое преобразует форматированный файл в формат RTF называется «writer». Его задача (для приложения) включает отделение управления информационного кода из текстового компонента. Затем он записывает новый файл с текстом и связанные с ним RTF группы.

Пример кода RTF

{ \rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard Это некоторый {\b жирный} текст.\par }

Этот файл, когда считывается программой, поддерживающей формат RTF, будет выглядеть так.

Это некоторый жирный текст.

Определение кода компонентов

  • {} (фигурные скобки)

Фрагмент кода написанный в фигурных скобках определяет группу.

Этот символ (косая черта) используется для определения начала управляющего кода для файла RTF.

  • \ RTF

Это пишут, чтобы указать, что RTF документ действителен. Действительный документ один, в котором группа начинается с \ RTF управления кода.

Это указывает на жирный шрифт текста.

  • \par

Это код управления для индикации конца абзаца.

Фрагмент { \b жирный} указывает, что сфера «жирного» стиля ограничивается словом "жирный". Вложение групп допускается в RTF-файлов.

Преимущества RTF файлов

Совместимость файла: Самой важной особенностью файла RTF является его совместимость с многочисленными операционными системами и приложениями для работы с текстом.

Защита от вирусов: вложенным файлам (с расширением.doc) менее доверяют бизнес-организации или почтовые серверы, поскольку они могут содержать вирусы. В отличие от файлов.doc, .rtf файлы не содержат макросы или вирусы, которые могут содержать текстовые документы.

Размер файла: текстовый файл сохраненный в.rtf формате, занимает меньше места, чем файл.doc. RTF файлы используют текстовую кодировку. Это выгодно, потому что мелкие файлы легче скачивать и закачивать, а также сэкономят место для хранения на диске.

Недостатки RTF файлов

Безопасность: RTF файлы не могут быть защищены паролем. Если файл содержит конфиденциальную информацию, которой необходимо обеспечить защиту, то желательно использовать другие форматы.

Размер файла: Если файл содержит изображения, Word-Art и т.д., размер файла невероятно больше, чем соответствующий.doc файл. Это является недостатком, так как он потребляет больше времени для загрузки и выгрузки, а также занимает больше места на диске.

Файловый формат RTF знаком многим пользователям, имеющим дело с документами. Множество деловой документации, электронные книги и брошюры, тексты разного рода и содержания – все они существуют, в том числе, в виде rtf-файлов. Когда возникает необходимость просмотреть содержимое таких документов, то на помощь приходит известный текстовый редактор MS Word, легко открывающий файлы данного типа. Но единственная ли это альтернатива? Конечно же, нет. В данной статье я расскажу, чем открыть файл RTF, какие программы нам в этом помогут, и как их использовать.

Как известно, «.rtf » — одна из форм расширения текстовых файлов. Такое буквосочетание является аббревиатурой от слов «Rich Text Format » (обогащённый текстовый формат). Документ в таком формате поддерживает так называемый «rich text» (обогащённый текст), что позволяет при редактировании документа оперировать несколькими вариантами форматирования текста, различными шрифтами и их размерами, размещать картинки JPG и PNG внутри текста, поддерживать пользовательские настройки вкладок и так далее.

Формат был создан корпорацией Microsoft в 1987 году, на протяжении 20 лет пережил несколько модификаций, а в 2008 году Microsoft заявила о прекращении его поддержки. Тем не менее, «rtf» ныне является одним из наиболее популярных текстовых форматов.

Обычно формат текста RTF открывается практически на любом пользовательском компьютере (обычно с помощью установленного текстового редактора MS Word). Если же у вас нет доступа к просмотру файлов данного типа, тогда рекомендую установить и использовать одну из программ, которые я перечислю ниже.

Лучшие программы для открытия rtf файлов

Существует достаточное количество программ, позволяющих открывать текстовые файлы с расширением rtf. Алгоритм открытия таких файлов стандартный: вы запускаете соответствующую программу, кликаете в ней на вкладку «Файл» (File), выбираете там «Открыть» (Open), и указываете программе путь к нужному rtf-файлу на диске вашего ПК.

Среди программных продуктов просмотрщиков RTF могу порекомендовать следующие варианты:

  • Microsoft WordPad – упрощённый текстовый редактор от Майкрософт, обычно включён в состав ОС Windows начиная с Windows 95. Позволяет просматривать, редактировать и сохранять текстовые файлы формата rtf;

  • Microsoft Word – уже упомянутый мной популярный текстовый редактор, входит в состав офисного пакета приложений Microsoft Office. Актуальная версия продукта – Microsoft Office Word 2016;
  • Microsoft Works – упрощённый пакет офисных приложений для домашнего использования. Текстовый редактор данного пакета по своим функциональным возможностям является чем-то средним между уже упомянутым WordPad и MS Word, обеспечивая эффективную поддержку формата rtf;
  • Atlantis Word Processor – условно-бесплатный текстовый редактор для ОС Виндовс. Среди его преимуществ – компактность (занимает всего 3 мегайбайта) и скорость обработки rtf-файлов;
  • TextMaker Viewer – бесплатное приложение для ОС Виндовс, умеющее открывать и просматривать абсолютное большинство текстовых документов, в том числе и нужного нам формата rtf;
  • Corel WordPerfect Office X6 – известный пакет офисных программ от компании Corel, включающий в себя текстовый редактор WordPerfect X3, имеется поддержка формата rtf. Продукт имеет платный характер;
  • Apache OpenOffice – бесплатный набор офисных программ, отличная альтернатива платному Microsoft Office. Входящий в данный пакет текстовый редактор (Writer) эффективно поддерживает работу с rtf-файлами;
  • AbiSource AbiWord – бесплатный текстовый редактор, по своему функционалу похож на MS Word, может стать эффективным ответом на вопрос «rtf чем открыть»;
  • TextMaker – текстовый редактор, входящий в офисный пакет SoftMaker Office. Также обладает поддержкой формата rtf.

Файл данного формата поддерживают другие текстовые редакторы, умеющие работать с форматированным текстом.

Как открыть файл rtf онлайн

Также существуют несколько сетевых инструментов, позволяющих просмотреть и редактировать rtf онлайн. Я бы отметил сервис «Google Документы », позволяющий просматривать документы rtf онлайн.

Также можно установить соответствующее расширение (Docs Online Viewer) для Google Chrome или аналог для Mozilla Firefox, позволяющее открывать rtf-файлы с помощью функционала указанных браузеров.

Кроме того, можно воспользоваться сетевыми конвертерами (например, Zamzar), позволяющими перевести ваш rtf-документ в более удобный для вас текстовый формат (к примеру, в не менее популярный «doc»).


Заключение

В вопросе редактирования RTF расширения вам помогут программы, перечисленные мной выше. Рекомендую обратить внимание на свободные альтернативы, в частности, на офисный пакет OpenOffice, который позволит абсолютно бесплатно работать с файлами данного типа. Консерваторам же могу порекомендовать шаблонные Microsoft Wordpad и Microsoft Word – множество пользователей, как не крути, выбирают именно их.

Вконтакте

RTF - формат, используемый для текстовых документов. Аббревиатура в его названии расшифровывается как Rich Text Format. Файлы RTF когда-то использовались для создания справки Windows, но были заменены документами Microsoft Compiled HTML, где используется расширение CHM.

Что находится в файлах RTF

Формат RTF отличается от обычного текстового документа (TXT) тем, что может содержать форматирование - жирный и наклонный текст, а также разнообразные шрифты и изображения любых размеров.

Файлы RTF полезны, потому что их поддержка есть во многих программах. Это значит, что вы можете создать RTF-файл в одной программе и в конкретной операционной системе (например, Mac OS), а затем открыть его же в Windows или Linux без потери форматирования.

Расширение RTF был впервые использовано в 1987 году, но в 2008 году корпорация Microsoft прекратила его поддержку. То, будет ли один редактор документов отображать RTF-файл так же, как второй - тот, в котором он был создан, зависит от того, какая версия формата используется.

Чем открыть RTF файл

Самый простой способ открыть RTF-файл в Windows - использовать WordPad , поскольку он входит в пакет стандартных программ. Альтернативными вариантами будут многие другие текстовые редакторы и текстовые процессоры - Notepad++, AbiWord, LibreOffice и OpenOffice .

Стоит понимать, что не каждая программа, где можно работать с RTF, будет считывать файлы «один в один». Это связано с тем, что в некоторых приложениях не поддерживаются новейшие спецификации формата RTF. Другие программы для открытия и редактирования RTF-файлов - Microsoft Word или Corel WordPerfect, однако они не предлагаются бесплатно. Приложение для конвертации RTF: Convertin.io .

Некоторые из этих редакторов RTF для Windows также работают с Linux и Mac. Пользователи Mac OS также могут скачать Apple TextEdit или Apple Pages для открытия файлов с таким расширением.

Главный писатель по вопросам технологий

Вам кто-то послал по электронной почте файл RTF, и вы не знаете, как его открыть? Может быть, вы нашли файл RTF на вашем компьютере и вас заинтересовало, что это за файл? Windows может сказать вам, что вы не можете открыть его, или, в худшем случае, вы можете столкнуться с соответствующим сообщением об ошибке, связанным с файлом RTF.

До того, как вы сможете открыть файл RTF, вам необходимо выяснить, к какому виду файла относится расширения файла RTF.

Tip: Incorrect RTF file association errors can be a symptom of other underlying issues within your Windows operating system. These invalid entries can also produce associated symptoms such as slow Windows startups, computer freezes, and other PC performance issues. Therefore, it highly recommended that you scan your Windows registry for invalid file associations and other issues related to a fragmented registry.

Ответ:

Файлы RTF имеют Текстовые файлы, который преимущественно ассоциирован с Rich Text Format File.

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

Как открыть ваш файл RTF:

Самый быстрый и легкий способ открыть свой файл RTF - это два раза щелкнуть по нему мышью. В данном случае система Windows сама выберет необходимую программу для открытия вашего файла RTF.

В случае, если ваш файл RTF не открывается, весьма вероятно, что на вашем ПК не установлена необходимая прикладная программа для просмотра или редактирования файлов с расширениями RTF.

Если ваш ПК открывает файл RTF, но в неверной программе, вам потребуется изменить настройки ассоциации файлов в вашем реестре Windows. Другими словами, Windows ассоциирует расширения файлов RTF с неверной программой.

Установить необязательные продукты - FileViewPro (Solvusoft) | | | |

RTF Multipurpose Internet Mail Extensions (MIME):

  • mime application/rtf
  • mime text/richtext
  • mime text/rtf

RTF Инструмент анализа файлов™

Вы не уверены, какой тип у файла RTF? Хотите получить точную информацию о файле, его создателе и как его можно открыть?

Теперь можно мгновенно получить всю необходимую информацию о файле RTF!

Революционный RTF Инструмент анализа файлов™ сканирует, анализирует и сообщает подробную информацию о файле RTF. Наш алгоритм (ожидается выдача патента) быстро проанализирует файл и через несколько секунд предоставит подробную информацию в наглядном и легко читаемом формате.†

Уже через несколько секунд вы точно узнаете тип вашего файла RTF, приложение, сопоставленное с файлом, имя создавшего файл пользователя, статус защиты файла и другую полезную информацию.

Чтобы начать бесплатный анализ файла, просто перетащите ваш файл RTF внутрь пунктирной линии ниже или нажмите «Просмотреть мой компьютер» и выберите файл. Отчет об анализе файла RTF будет показан внизу, прямо в окне браузера.

Перетащите файл RTF сюда для начала анализа

Просмотреть мой компьютер »

Пожалуйста, также проверьте мой файл на вирусы

Ваш файл анализируется... пожалуйста подождите.

Понравилась статья? Поделиться с друзьями: