Konwertuj RTF na Tekst online bezpłatnie

Konwertuj pliki RTF na Tekst online za darmo. Prześlij plik i od razu otrzymaj czysty wynik gotowy dla LLM. Bez rejestracji, do 50 MB na plik, nic nie jest zapisywane.

RTF na tekst: zdejmij słowa sterujące, zostaw słowa

Wielu ludzi odkrywa RTF w bolesny sposób. Masz katalog plików .rtf, potrzebujesz treści w bazie danych, a skoro format to technicznie czyste ASCII, myślisz, że wystarczy wczytać plik i po sprawie. Potem patrzysz na to, co wczytałeś, i widzisz {\rtf1\ansi\deff0{\fonttbl{\f0\froman Times New Roman;}}{\colortbl;\red0\green0\blue0;}\viewkind4\uc1\pard\f0\fs24 Dear Sir,\par i jakieś cztery kilobajty tego przed drugim zdaniem listu.

RTF to tekst, ale tekst z owiniętym wokół niego językiem znaczników, i wyciągnięcie słów oznacza faktyczne parsowanie słów sterujących, a nie regeksowanie na chybił trafił po backslashach. To właśnie robi ta strona. Wyciągnij tekst z pliku RTF, a dostaniesz prozę w kolejności czytania i nic poza tym. Za darmo, bez rejestracji, limit 50 MB, nic nie jest przechowywane po naszej stronie.

Dlaczego naiwne zdejmowanie się sypie

Kusi, żeby napisać dwudziestolinijkową funkcję kasującą wszystko, co zaczyna się od backslasha. Działa na pierwszych trzech plikach, a resztę po cichu rujnuje. Konkretne sposoby, w jakie się psuje, warto znać, nawet jeśli nigdy tej funkcji nie napiszesz, bo to te same rzeczy, które musi obsłużyć prawdziwy parser:

  • Grupy nagłówkowe nie są treścią. Tabela fontów, tabela kolorów, arkusz stylów i tabela rewizji siedzą na górze pliku w klamrach. Zdejmij słowa sterujące, ale zostaw tekst wewnątrz tych grup, a twój wynik zacznie się od listy nazw krojów pisma.
  • Klamry niosą znaczenie. Grupy się zagnieżdżają i wyznaczają zasięg formatowania. Niektóre grupy — \*\generator, \info, dane osadzonych obiektów — powinny być odrzucane w całości, a nie rozpakowywane.
  • Escape'y wyglądają jak treść. \'92 to prawdziwy znak, nie słowo sterujące do skasowania. Usuń go, a każdy apostrof w dokumencie znika w środku słowa.
  • W środku kryją się dane binarne. Obrazy żyją w grupach \pict jako długie ciągi cyfr szesnastkowych, które dla głupiego filtra wyglądają dokładnie jak zwykły tekst. Tak właśnie kończysz z 40 000 znaków 0100090000 w środku listu.
  • Znaczniki akapitów mają znaczenie. \par musi stać się znakiem nowej linii, a nie niczym, inaczej cały dokument przyjeżdża jako jeden gigantyczny ciągnący się akapit.

Gdzie RTF pojawia się hurtowo

Nikt nie ma trzech plików RTF. Ludzie mają trzy tysiące, bo jakiś system produkuje je miarowo od 2004 roku. Zwykli podejrzani:

  • Discovery prawnicze i akta spraw. Protokoły, pisma procesowe i korespondencja eksportowane z systemów zarządzania sprawami, często w jednym płaskim katalogu z kryptycznymi nazwami plików.
  • Dokumentacja kliniczna. Dyktowane notatki, karty wypisowe i skierowania przechowywane jako bloby RTF w tabelach EHR — zwykle dlatego, że dostawca wybrał to w 2003 roku i od tamtej pory nic nie wymusiło zmiany.
  • Rejestry rządowe. Wybrany z tego samego powodu, z którego wybrały go sądy: otwarta, stabilna specyfikacja, która otworzy się i za trzydzieści lat.
  • Stare archiwa e-maili. Tryb rich text Outlooka to pod skórą RTF, więc wypada z ekstrakcji e-maili MSG bez przerwy.
  • Eksporty ze starych aplikacji. Każdy CRM, helpdesk czy narzędzie biznesowe z polem rich-text sprzed ery edytorów webowych niemal na pewno trzyma RTF w kolumnie.
  • Dokumenty z WordPada. Dekady nieformalnych notatek i procedur zapisanych przez ludzi, którzy używali tego, co Windows otwierał domyślnie.

Wspólny mianownik: to archiwa, które chcesz przeszukiwać, indeksować albo zadawać im pytania — czyli dokładnie robota dla czystego tekstu.

Kodowanie to część, która naprawdę gryzie

Większość problemów z RTF-em na wolności to problemy z kodowaniem znaków, nie ze strukturą. Format zaprojektowano, zanim Unicode się ustabilizował, a starsze pliki noszą tę historię w sobie.

Nagłówek deklaruje stronę kodową — \ansicpg1252 dla zachodnioeuropejskiego Windows to najczęstsza, ale spotkasz \ansicpg1251 dla cyrylicy, \ansicpg1250 dla Europy Środkowej i \mac dla plików, które zaczęły życie na klasycznym Macintoshu. Znaki spoza ASCII pojawiają się potem jako escape'y szesnastkowe typu \'92 czy \'e9, których znaczenie zależy całkowicie od tej deklaracji. Pomyl się, a é staje się literą cyrylicy, a apostrof typograficzny — kwadracikiem.

Nowsze pliki używają \uN? — punkt kodowy Unicode, a po nim znak zastępczy dla czytników zbyt starych, żeby go obsłużyć. Sparsowane porządnie dają prawdziwy znak; sparsowane niedbale dają znak zastępczy, którym często jest dosłowny znak zapytania. Stąd biorą się dokumenty, w których każda pauza i każdy cudzysłów drukarski zamieniły się w ?.

Dlatego: zanim wrzucisz partię do bazy, otwórz dwa-trzy przekonwertowane pliki i przyjrzyj się konkretnie apostrofom, cudzysłowom, myślnikom i nazwiskom ze znakami diakrytycznymi. Te cztery rzeczy mówią ci, czy kodowanie zostało odczytane poprawnie. Jeśli są złe, są złe konsekwentnie, i jedno znajdź-i-zamień po całej partii naprawia to za jednym zamachem.

Tekst czy Markdown? Pytanie rozstrzygające

Sprowadza się do tego, czy dokument ma tabele, na których ci zależy.

Tabele RTF są definiowane wprost przez \trowd i \cellx, więc jeśli poprosisz o Markdown, rekonstruują się czysto do tabel z pionowymi kreskami. Spłaszcz je do tekstu, a wszystkie wartości przeżyją, ale kolumna, do której każda należała — nie: tabela rozliczeniowa staje się ciągiem liczb rozdzielonych spacjami i żadne promptowanie nie odzyska kolumn. Jeśli to twój dokument, użyj RTF na Markdown. Przełącznik formatu u góry tej strony przełącza konwerter i zachowuje plik, który już wybrałeś.

Do całej reszty — listów, notatek, protokołów, memo, korespondencji, większości tego, do czego RTF jest faktycznie używany — lepszym wyjściem jest tekst. Tego chcą indeksy wyszukiwania pełnotekstowego, to domyślnie tną pipeline'y embeddingów, to czyta grep i tego oczekuje klasyfikator. Gwiazdki i kreski Markdowna byłyby tylko znakami, które i tak zdejmiesz w następnym kroku.

Jak przebrnąć przez dużą partię

  • Spakuj katalog do zipa. ZIP na tekst konwertuje każdy obsługiwany plik w archiwum za jednym przejściem, co jest dużo lepsze niż wgrywanie ich po kolei. Pilnuj limitu 50 MB — RTF jest nieskompresowany, a pliki z osadzonymi obrazami są dużo większe, niż sugeruje liczba słów.
  • Zrób próbkę, zanim się zdecydujesz. Najpierw przekonwertuj pięć plików z różnych lat. Problemy z kodowaniem grupują się według epoki i narzędzia, które je wyprodukowało, a próbka pokaże ci wzorzec, zanim przetworzysz trzy tysiące.
  • Zachowaj nazwy plików jako metadane. Gdy to już płaski tekst, nazwa pliku może być jedyną proweniencją, jaka ci została. Trzymaj ją przy każdym rekordzie.
  • Spodziewaj się boilerplate'u. Papiery firmowe, stopki i standardowe formuły zakończenia powtarzają się w każdym pliku korpusu. W każdej analizie częstości czy tematów stają się fałszywie częstym słownictwem, więc zdejmij je, gdy tylko zauważysz wzorzec.
  • Uważaj na ucięcia. Sporo narzędzi produkuje lekko niezgodny ze specyfikacją RTF z niesparowanymi klamrami. Jeśli przekonwertowany plik urywa się w pół zdania, to źródło jest uszkodzone, a nie konwersja po cichu zawiodła — otwórz oryginał w edytorze tekstu, a zwykle zobaczysz, gdzie się psuje.
  • Sprawdź liczbę tokenów. Licznik pod wynikiem mówi, ile kosztuje dokument, zanim gdziekolwiek go wkleisz, co się przydaje, gdy decydujesz, ile archiwum zmieści się w jednym prompcie.

RTF, DOCX — i który konwertować

Jeśli dokument istnieje w obu postaciach, bierz DOCX. Niesie porządną hierarchię stylów i bogatszą semantykę, a Word na tekst to bliższy, nowoczesny odpowiednik tej strony.

Ale RTF ma jedną realną przewagę przy hurtowej ekstrakcji tekstu i to nie nostalgia: to pojedynczy liniowy strumień bez warstwy kompresji. Żadnego kontenera zip, który mógłby się uszkodzić, żadnych części XML odwołujących się do siebie nawzajem. Gdy coś idzie nie tak, otwierasz plik w dowolnym edytorze i czytasz przyczynę własnymi oczami. Na kilku tysiącach plików niewiadomego pochodzenia ta przewidywalność jest warta zaskakująco dużo.

Najczęściej zadawane pytania

Jak wyciągnąć tekst z pliku RTF?

Upuść .rtf w konwerterze powyżej. Słowa sterujące są porządnie parsowane i dostajesz prozę w kolejności czytania, bez żadnych znaczników. Za darmo, bez rejestracji, 50 MB na plik, nic nie jest przechowywane. Pobierz jako .txt albo skopiuj.

Czemu nie mogę po prostu otworzyć RTF-a w edytorze tekstu?

Możesz — i zobaczysz {\rtf1\ansi\deff0{\fonttbl{\f0\froman Times New Roman;}}, a po tym jeszcze kilka kilobajtów przed drugim zdaniem listu. RTF to ASCII, ale ASCII owinięte w język znaczników. Słowa tam są, przeplecione tabelami fontów, tabelami kolorów i słowami sterującymi, które trzeba sparsować, a nie wyciąć wzorcem.

Czemu samodzielne wycinanie backslashy daje zepsuty wynik?

Bo słowa sterujące nie są jednolicie rozdzielane, a niektóre niosą dane, które musisz zachować. Regeks kasujący wszystko po backslashu kasuje też \'e9, czyli sposób, w jaki RTF koduje znak z akcentem — więc każde nazwisko z diakrytykiem po cichu gubi litery. Działa na pierwszych trzech plikach, a resztę po cichu rujnuje.

Czy znaki diakrytyczne i nieangielskie przeżywają?

Tak, jeśli plik poprawnie deklaruje swoje kodowanie, co robi większość. RTF zapisuje znaki spoza ASCII jako sekwencje szesnastkowe powiązane z zadeklarowaną stroną kodową, a porządne parsowanie zamienia je z powrotem na prawdziwy Unicode. To najczęstsza pojedyncza porażka ręcznie skleconego zdejmowania znaczników i ta, która robi największe szkody w zbiorze nazwisk czy adresów.

Czy tabele w dokumencie RTF się konwertują?

Zawartość komórek przechodzi, ale jako ciągły tekst, a nie siatka — czysty tekst nie ma jak wyrazić kolumny. Jeśli dokument to raport zbudowany wokół tabel, RTF na Markdown zachowuje wiersze i kolumny jako tabele Markdown.

Reszta zestawu narzędzi

RTF to jeden z trzynastu obsługiwanych formatów. File2Txt obsługuje wszystkie z jednego uploadu, jeśli wolisz nie wybierać strony. W sąsiedztwie: PDF na tekst dla dokumentów o stałym układzie, EPUB na tekst dla e-booków, HTML na tekst dla zapisanych stron i XML na tekst dla tego drugiego zabytkowego formatu wymiany danych.

Pracujesz z kodem albo żywym webem? Jest konwerter repozytorium GitHub na tekst, wersja dla GitLaba, konwerter katalogu lokalnego oraz Web2Txt do scrapowania URL-i. Przewodnik po przygotowywaniu dokumentów dla LLM-ów omawia ogólną wersję tego tematu.

Repo2Txt tworzy i utrzymuje v12hero, niezależny deweloper budujący natywne i webowe aplikacje stawiające prywatność na pierwszym miejscu.