Что такое формат RTF и чем отличается он от DOC? Как работать с RTF и TXT файлами: блокнот и более сложные программы

Файловый формат 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 – множество пользователей, как не крути, выбирают именно их.

Вконтакте

Extensions are some of the files associated or which can be opened with the Microsoft WordPad. RTF files are text documents that can be created, opened, viewed, edited or changed using word processing applications for both Mac and Microsoft Windows-based computers, like Microsoft WordPad for Windows and Microsoft Word 2011 for Mac. It gives the users a wide cross compatibility support, which was the central objective for the improvement of the Rich Text Format technology, and these .rtf files can even be opened, viewed and used with database applications. The OpenBSD Unix platform is frequently utilized in computers running as Web servers of a secure network. OpenBSD files may be saved in directories of the OpenBSD system that were generated upon installation of the software applications. Files with the .openbsd extension can be opened by standard text editors, particularly well-known like Microsoft Notepad, and this text editor may also be utilized to create and edit OPENBSD files. Files with the .readme extension are text documents engaged to give users with beneficial information and specific details about certain applications installed in the system. These files can be opened, viewed and edited with a selection of text editors including Microsoft Notepad and Microsoft WordPad.

Microsoft Word

Microsoft Word is a word processor program that is packed in the Microsoft Office Suite . It is developed by Microsoft Corporation, generating a .doc file extension when the file is saved. A document file format (.doc) is a text or binary file format for saving documents on a storage media, mainly for computer use, like typing text, charts, tables, page formatting, graphs, images and other documents whose content is created and edited. Contents of these documents are printable in any sizes and are capable to open in other devices provided that its operating system is able to read DOC files. This .doc file extension has become extensive de facto standard for office documents, but it is an owned format and is not always totally supported by other word processors. A variety of programs that is able to open this type of file, and different operating systems and have installed programs that can open a 1ST file are: Microsoft Word, Microsoft Notepad, Microsoft Word, IBM Lotus WordPro, and Corel WordPerfect.

Microsoft Notepad

Microsoft Notepad

Notepad is a basic text editor used to create plain documents. It is commonly used to view or edit text (.txt) files, and a simple tool for creating Web pages, and supports only the basic formatting in HTML documents. It also has a simple built-in logging function. Each time a file that initializes with .log is opened, the program inserts a text timestamp on the last line of the file. It accepts text from the Windows clipboard. This is helpful in stripping embedded font type and style codes from formatted text, such as when copying text from a Web page and pasting into an email message or other “What You See Is What You Get” text editor. The formatted text is temporarily pasted into Notepad, and then immediately copied again in stripped format to be pasted into the other program. Simple text editors like Notepad may be utilized to change text with markup, such as HTML. Early versions of Notepad offered only the most basic functions, such as finding text. Newer versions of Windows include an updated version of Notepad with a search and replace function (Ctrl + H), as well as Ctrl + F for search and similar keyboard shortcuts. It makes use of a built-in window class named edit. In older versions such as Windows 95, Windows 98, Windows Me and Windows 3.1, there is a 64k limit on the size of the file being edited, an operating system limit of the EDIT class.


Microsoft Works

Microsoft Works

Microsoft Works is incorporated package software that was developed by Microsoft. It is less expensive, smaller, and has fewer features than Microsoft Office or other office suites. Its central functionality includes a word processor, a spreadsheet and a database management system. Newer versions have a calendar application and a dictionary while older versions included a terminal emulator. Files with WPS extension is utilized for output files of the Microsoft Works word processing application. These files are classified as text documents that can be created, saved, viewed and edited using the Microsoft Works program. Microsoft Word 2010, Microsoft Publisher 2010, Planamesa NeoOffice, and OxygenOffice Professional are some of the applications that are able to open and view the content of these WPS files. The contents of these WPS files can also be exported to other compatible word document formats. This promotes convenience and efficient document presentation, group collaboration and sharing between users of different systems and word processing applications; however, WPS document cannot be applied with macros and other formatting options available in Microsoft Word; so Microsoft discontinued support and development of the Microsoft Works application with its version 9 and the release of Microsoft Word 2010.

Notepad2

The Notepad2 application is a more advanced text editor for Windows developed by Florian Balmer. This program originated from the original built-in Microsoft Notepad which is why it is also effective and fast even when it is small. Notepad2 also has a lot of features such as syntax highlighting that allows a text or a source code to be displayed using different fonts and colors. This syntax highlighting feature of notepad2 allows users to write programming language easily and distinctly. This amazing function of Notepad2 is also owing to several other features it possess such as auto indentation, regular and expression-based find and replace feature, bracket matching, newline conversion, encoding conversion as well as multiple undo and redo features. These features make the function of the simple Notepad more advanced and it makes Notepad more interesting to use either to open files in .txt format or to write HTML codes. Notepad2 also supports many programming languages such as ASP, C++, Perl, Java, etc. - Расширение (формат) - это символы в конце файла после последней точки.
- Компьютер определяет тип файла именно по расширению.
- По умолчанию Windows не показывает расширения имен файлов.
- В имени файла и расширении нельзя использовать некоторые символы.
- Не все форматы имеют отношение к одной и той же программе.
- Ниже находятся все программы с помощью которых можно открыть файл RTF.

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

LibreOffice – бесплатный пакет программ для работы с текстом, таблицами, базами данных и т.п. По своей сути, это бесплатный аналог всем известного Microsoft Office с добавлением новых функций, которых нет в аналогичном платном пакете. Интерфейс у данного пакета схож со старыми версиями «офиса», поэтому с приложением сможет разобраться почти любой пользователь. Особенно, если он когда-либо работал с офисными приложениями. В пакет входит несколько приложений, выполняющих те же функции, что и их аналоги из Microsoft Office. Например, программа Writer это почти полная копия «ворда» с поддержкой всех популярных форматов файлов, вклю...

NI Transliterator - интересная программа, помогающая преобразовывать текст с транслита. Работает с русским и английским языками. Обеспечивает возможность минимального форматирования текста. Позволяет загружать документы в формате RTF и сохранять их после обработки. Поддерживает популярные системы транслитерации и таблицы, которые задает пользователь. Работает с ГОСТом 16876-71 и русско-английской системой. NI Transliterator поддерживает перевод символов в тексте в верхний либо нижний регистр. Утилита работает с функцией изменения кодировки русских слов и помогает подсчитывать количество символов в любом тексте. Функция подсчета...

Cool Reader – ещё одна хорошая программа для чтения электронных книг, сочетающая в себе не только многофункциональный файловый просмотрщик, но и «говорилку». Вообще, данная программа очень способствует сохранению вашего зрения, ведь она максимально подстраивает чтение текста под ваши глаза и делает его более плавным. Программа понимает абзацы, заголовки, может изменять шрифт, пользоваться плавным переходом и т.п. Ещё одной особенностью программы можно назвать поддержку синтезаторов. Т.е. программа Cool Reader может использовать какой-либо синтезатор для чтения книги, в этом случае вы вообще можете заниматься своими делами и не...

WindowsOffice - удобный и небольшой по размеру аналог привычному офисному пакету. Включает в себя необходимые программы для работы с текстовыми документами, электронными таблицами. Позволяет редактировать все документы даже ранних версий MSWord. Подходит для ежедневного пользования, не требует активации. Работает гораздо быстрее, сохранение документов проходит без зависаний. Поддерживает коллекцию шаблонов. С помощью WindowsOffice пользователь сможет выполнять те же операции, что и приложение-аналог. Позволяет вставлять разные изображения в документ. Имеет версию для планшетных устройств. Характеризуется небольшим весом, быстр...

Balabolka - программа для чтения вслух текстовых файлов в широком спектре форматов DOCX, RTF, PDF, ODT, FB2 и HTML. Теперь не нужно садить зрение, читая ту или иную книгу. Balabolka сама прочтёт вслух любой текст, не важно на каком языке. Слуховое восприятие, как известно, позволяет усвоить и запомнить гораздо большее количество информации, чем обычное чтение. И главное – быстрее. Balabolka будет читать для вас всё, что угодно, пока вы преспокойно занимаетесь другим делом. Каждая книга, при чтении создаёт определённое настроение, теперь же вы можете создавать его с помощью Балаболки. Процессом воспроизведения можно...

Calligra - уникальное приложение, представляющее набор полезных утилит для взаимодействия с различными документами. Включает в себя спектр полезных программ для работы с любым текстом, базами данных, электронными таблицами, файлами презентаций. Приложение имеет редактор Flow для создания и изменения блок-схем, диаграмм. Для работы со сложной векторной графикой также имеется программа Carbon, которая не уступает по набору опций другим редакторам. Calligra включает специальное приложение Author для написания собственных книг. Одна из программ пакета отвечает за создание и редактирование рисунков (Krita). Является отличной заменой...

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

WPS Office - ещё один пакет для работы с офисными документами, являющийся альтернативной известному приложению от Microsoft. Данный пакет включает почти все инструменты, которые могут понадобиться для редактирования файлов. Так, например, пакет WPS Office содержит удобный текстовый редактор, который может открывать почти все форматы офисных приложений, например, doc. Также, данная программа может работать с html страницами и открывать другие текстовые файлы. Имеется приложение для создания презентаций, что тоже схоже с популярным пакетом от Microsoft. Оно содержит необходимый набор функций, которые могут понадобиться любому пол...

Free Opener - достаточно функциональный просмотрщик самых популярных файлов, включая архивы Winrar, документы Microsoft Office, PDF, документы Photoshop, торрент файлы, иконки, веб страницы, текстовые документы, аудио и видео файлы, графические файлы в том числе и Flash и многое другое. Количество поддерживаемых файлов превышает семидесяти. В программе отсутствуют привычные нам настройки и опции за исключением смена дизайна. Также необходима отметить, что отсутствует русский язык, но учитывая простоту, не стоит недооценивать программу. Free Opener - это универсальная и очень удобная программа для чтения различных типов файлов.

Что ж продолжим наши изыскания на предмет получения текста из различных форматов данных. Не так давно мы с вами научились вытаскивать текст из 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 ;
Код с комментариями вы можете получить на