Конвертировать RTF в Текст онлайн бесплатно

Конвертируйте файлы RTF в Текст онлайн бесплатно. Загрузите файл и сразу получите чистый результат, готовый для LLM. Без регистрации, до 50 МБ, ничего не сохраняется.

RTF в текст: убрать управляющие слова, оставить слова

Многие открывают для себя RTF тяжёлым путём. У вас папка файлов .rtf, содержимое нужно в базе данных, и раз формат технически является обычным ASCII, кажется, что можно просто прочитать файл — и готово. Потом вы смотрите на то, что загрузили, и это {\rtf1\ansi\deff0{\fonttbl{\f0\froman Times New Roman;}}{\colortbl;\red0\green0\blue0;}\viewkind4\uc1\pard\f0\fs24 Dear Sir,\par — и ещё килобайта четыре такого до второго предложения письма.

RTF — это текст, но текст, обёрнутый в язык разметки, и чтобы вытащить слова, нужно по-настоящему разбирать управляющие слова, а не с надеждой гонять regex по бэкслешам. Именно это здесь и происходит. Извлеките текст из RTF файла — и получите прозу в порядке чтения и ничего больше. Бесплатно, без регистрации, лимит 50 МБ, у нас ничего не сохраняется.

Почему наивная вырезка ломается

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

  • Группы заголовка — не содержимое. Таблица шрифтов, таблица цветов, таблица стилей и таблица правок сидят в начале файла в фигурных скобках. Вырежьте управляющие слова, но оставьте текст внутри этих групп — и ваш вывод начнётся со списка названий гарнитур.
  • Фигурные скобки несут смысл. Группы вкладываются и ограничивают область действия форматирования. Некоторые группы — \*\generator, \info, данные встроенных объектов — надо выбрасывать целиком, а не разворачивать.
  • Экранирования выглядят как содержимое. \'92 — это настоящий символ, а не управляющее слово на удаление. Уберите его — и каждый апостроф в документе исчезнет посреди слова.
  • Внутри прячется бинарь. Картинки живут в группах \pict длинными последовательностями шестнадцатеричных цифр, которые для глупого фильтра выглядят в точности как обычный текст. Так и получаются 40 000 символов 0100090000 посреди письма.
  • Маркеры абзацев важны. \par должен стать переводом строки, а не ничем, иначе весь документ приедет одним гигантским слитным абзацем.

Где RTF встречается оптом

Ни у кого нет трёх RTF-файлов. У людей их три тысячи, потому что какая-то система стабильно выдаёт их с 2004 года. Обычные подозреваемые:

  • Юридический процесс раскрытия и материалы дел. Стенограммы, ходатайства и переписка, выгруженные из систем ведения дел, часто одной плоской папкой с криптическими именами файлов.
  • Клиническая документация. Надиктованные записи, выписные эпикризы и направления, хранящиеся RTF-блобами в таблицах медицинских систем — обычно потому, что вендор выбрал формат в 2003 году и с тех пор ничто не заставило его поменять.
  • Государственные архивы. Выбраны по той же причине, что и в судах: открытая, стабильная спецификация, которая откроется и через тридцать лет.
  • Старые почтовые архивы. Режим rich text в Outlook — это RTF под кожей, поэтому он постоянно выпадает из извлечения писем MSG.
  • Экспорт из легаси-приложений. Любая CRM, хелпдеск или корпоративный инструмент с rich-text-полем из эпохи до веб-редакторов почти наверняка хранит в колонке RTF.
  • Документы WordPad. Десятилетия неформальных заметок и инструкций, сохранённых людьми, которые пользовались тем, что Windows открывала по умолчанию.

Общая нить: это архивы, по которым вы хотите искать, которые хотите индексировать или задавать по ним вопросы — а это ровно та работа, для которой и существует обычный текст.

Кодировка — то, что действительно кусается

Большинство проблем с RTF в дикой природе — это проблемы кодировки символов, а не структуры. Формат спроектирован до того, как устоялся Unicode, и старые файлы несут эту историю в себе.

Заголовок объявляет кодовую страницу — \ansicpg1252 для западноевропейской Windows встречается чаще всего, но вы встретите и \ansicpg1251 для кириллицы, и \ansicpg1250 для Центральной Европы, и \mac для файлов, начавших жизнь на классическом Macintosh. Не-ASCII символы затем появляются шестнадцатеричными экранированиями вроде \'92 или \'e9, смысл которых целиком зависит от этой декларации. Ошибитесь — и «é» станет кириллической буквой, а типографский апостроф — квадратиком.

Более новые файлы используют \uN? — кодовую точку Unicode с запасным символом для читалок, слишком старых, чтобы её понять. Разобрано правильно — вы получаете настоящий символ; разобрано небрежно — запасной, а это часто буквальный вопросительный знак. Отсюда документы, где каждое длинное тире и каждая «умная» кавычка превратились в ?.

Поэтому: прежде чем заливать партию в базу, откройте два-три сконвертированных файла и посмотрите именно на апострофы, кавычки, тире и любые имена с диакритикой. Эти четыре вещи скажут вам, была ли кодировка прочитана правильно. Если они сломаны — сломаны они последовательно, и поиск с заменой по всей партии чинит всё за один проход.

Текст или Markdown? Решающий вопрос

Всё сводится к тому, есть ли в документе таблицы, которые вам важны.

Таблицы в RTF задаются явно через \trowd и \cellx, поэтому в Markdown они чисто реконструируются в таблицы с вертикальными чертами. Уплощите их в текст — все значения выживут, но колонка, к которой относилось каждое, — нет: платёжная таблица превратится в вереницу чисел через пробелы, и никакие промпты не вернут колонки обратно. Если ваш документ таков, используйте RTF в Markdown. Переключатель формата в верхней части страницы переводит туда и сохраняет уже выбранный файл.

Для всего остального — письма, заметки, стенограммы, служебные записки, переписка, то есть большая часть того, для чего RTF реально используется, — текст лучше. Это то, чего хотят индексы полнотекстового поиска, то, что конвейеры эмбеддингов режут по умолчанию, то, что читает grep, и то, чего ждёт классификатор. Звёздочки и вертикальные черты Markdown были бы просто символами, которые вы на следующем шаге снова вычищаете.

Как пройти большую партию

  • Запакуйте папку. ZIP в текст конвертирует все поддерживаемые файлы внутри архива за один проход — куда лучше, чем загружать их по одному. Помните о потолке 50 МБ: RTF не сжат, и файлы со встроенными картинками намного больше, чем подсказывает их объём текста.
  • Сначала выборка, потом вся партия. Сконвертируйте для начала пять файлов из разных лет. Проблемы кодировок кучкуются по эпохам и по инструментам, которые их породили, — и выборка покажет закономерность до того, как вы обработаете три тысячи.
  • Сохраняйте имена файлов как метаданные. Когда всё стало плоским текстом, имя файла может оказаться единственным оставшимся происхождением. Храните его рядом с каждой записью.
  • Ждите шаблонного текста. Шапки бланков, подвалы и стандартные подписи повторяются в каждом файле корпуса. В любом частотном или тематическом анализе они становятся ложно частотной лексикой — вычищайте их, как только заметите закономерность.
  • Следите за обрывами. Немало инструментов выдаёт слегка несоответствующий спецификации RTF с несбалансированными скобками. Если сконвертированный файл обрывается на середине предложения, это исходник битый, а не конвертация молча упала — откройте оригинал в текстовом редакторе, и обычно видно, где всё идёт не так.
  • Проверяйте число токенов. Счётчик под результатом говорит, во что обходится документ, до того как вы его куда-то вставите, — удобно, когда решаете, сколько архива поместится в один промпт.

RTF, DOCX — и какой из них конвертировать

Если документ существует в обоих видах, берите DOCX. Он несёт полноценную иерархию стилей и более богатую семантику, а Word в текст — более близкий современный аналог этой страницы.

Но у RTF есть одно реальное преимущество для массового извлечения текста, и это не ностальгия: он — единый линейный поток без слоя сжатия. Нет zip-контейнера, который может побиться, нет XML-частей, ссылающихся друг на друга. Когда что-то идёт не так, файл можно открыть в любом редакторе и прочитать причину собственными глазами. На нескольких тысячах файлов неизвестного происхождения такая предсказуемость стоит удивительно много.

Часто задаваемые вопросы

Как извлечь текст из RTF файла?

Перетащите .rtf в конвертер выше. Управляющие слова разбираются по-настоящему, и вы получаете прозу в порядке чтения без какой-либо разметки. Бесплатно, без регистрации, до 50 МБ на файл, ничего не сохраняется. Скачайте как .txt или скопируйте.

Почему нельзя просто открыть RTF в текстовом редакторе?

Можно, и вы увидите {\rtf1\ansi\deff0{\fonttbl{\f0\froman Times New Roman;}}, а за ним ещё несколько килобайт до второго предложения письма. RTF — это ASCII, но ASCII, обёрнутый в язык разметки. Слова там есть — вперемешку с таблицами шрифтов, таблицами цветов и управляющими словами, которые нужно разбирать, а не убирать сопоставлением по шаблону.

Почему самостоятельная вырезка бэкслешей даёт битый вывод?

Потому что управляющие слова не разделены единообразно, а некоторые несут данные, которые нужно сохранить. Regex, удаляющий всё после бэкслеша, удаляет и \'e9 — а именно так RTF кодирует символ с диакритикой, — так что каждое имя с надстрочным знаком молча теряет буквы. Работает на первых трёх файлах и тихо портит остальные.

Выживают ли символы с диакритикой и неанглийский текст?

Да — когда файл корректно объявляет свою кодировку, а так делает большинство. RTF экранирует не-ASCII символы шестнадцатеричными последовательностями, привязанными к объявленной кодовой странице, и правильный разбор преобразует их обратно в настоящий Unicode. Это самый частый провал самодельной вырезки — и тот, что наносит больше всего урона датасету имён или адресов.

Конвертируются ли таблицы в RTF-документе?

Содержимое ячеек проходит, но сплошным текстом, а не сеткой — у обычного текста нет способа выразить колонку. Если документ — отчёт, построенный вокруг таблиц, RTF в Markdown сохранит строки и колонки в виде таблиц с вертикальными чертами.

Остальной инструментарий

RTF — один из тринадцати поддерживаемых форматов. File2Txt обрабатывает их все через одну загрузку, если не хочется выбирать страницу. По соседству: PDF в текст для документов с фиксированной вёрсткой, EPUB в текст для электронных книг, HTML в текст для сохранённых страниц и XML в текст для второго легаси-формата обмена данными.

Работаете с кодом или живым вебом? Есть конвертер репозитория GitHub в текст, версия для GitLab, конвертер локальной папки и Web2Txt для скрейпинга URL. Руководство по подготовке документов для LLM разбирает общий случай всего этого.

Repo2Txt создаёт и поддерживает v12hero — независимый разработчик, который делает нативные и веб-приложения с приоритетом приватности.