Formaty plików
Co to jest RTF? Jak działa Rich Text Format
RTF to format dokumentów stworzony przez Microsoft w 1987 roku, który opisuje sformatowany tekst za pomocą zwykłych znaków ASCII. Omawiamy jego budowę, ograniczenia i to, na co uważać przy konwersji.
Autor: Hemen Dönüştür Editör EkibiOpublikowano: 7 min czytania

O RTF może nie słyszy się często, ale najpewniej nieraz miałeś z nim do czynienia: w menu „Eksportuj” starego programu, jako domyślny format zapisu w TextEdit na Macu albo jako „najbezpieczniejszą opcję” przy przenoszeniu dokumentu między edytorami tekstu. Rich Text Format opisuje formatowanie, takie jak pogrubienie, kursywa, czcionki, kolory i tabele, za pomocą zwykłych znaków tekstowych. W tym artykule wyjaśniamy, jak narodził się RTF, jak wygląda plik RTF w środku, gdzie się sprawdza, a gdzie zawodzi, oraz na co uważać przy jego konwersji.
Czym jest RTF?
RTF to tekstowy format opracowany przez Microsoft do przenoszenia dokumentów między różnymi programami i systemami operacyjnymi. Nie jest formatem binarnym jak DOC: otwórz plik RTF w Notatniku, a przeczytasz swój tekst przeplatany poleceniami z ukośnikiem wstecznym. W odróżnieniu od HTML nie został jednak zaprojektowany do pisania ręcznego. Jego celem jest umożliwienie jednemu programowi odczytania dokumentu utworzonego przez inny, razem z formatowaniem.
Na początek warto wyjaśnić jedno częste nieporozumienie: opcja „tekst sformatowany” (rich text) w programach pocztowych i formularzach internetowych to zwykle ogólne określenie tekstu z formatowaniem, a pod spodem często kryje się HTML. RTF, o którym jest ten artykuł, to konkretny format pliku z rozszerzeniem .rtf i własną składnią.
Krótka historia
RTF opracowali w połowie i pod koniec lat 80. Richard Brodie, Charles Simonyi i David Luebbert z zespołu Microsoft Word. Pierwszy czytnik i zapis RTF trafił do użytkowników w 1987 roku wraz z Wordem 3.0 dla Macintosha i implementował RTF 1.0. Przez kolejne dwadzieścia lat format rozwijał się razem z Wordem:
| Wersja | Data | Uwagi |
|---|---|---|
| 1.0 | 1987 | Pierwsza wersja, z Wordem 3.0 (Mac) |
| 1.1 | 1989 | Osadzanie czcionek, z Wordem 4 |
| 1.2 - 1.4 | 1993 - wrzesień 1995 | Wersje dostarczane z Wordem 5, Wordem 6 i Wordem 95 |
| 1.5 | kwiecień 1997 | Obsługa Unicode wraz z Wordem 97 (słowo sterujące \u) |
| 1.6 - 1.8 | maj 1999 - kwiecień 2004 | Wersje dostarczane z Wordem 2000, 2002 i 2003 |
| 1.9.1 | marzec 2008 | Wersja ostatnia, zgodna z Wordem 2007 |
Po wersji 1.9.1 Microsoft przestał rozwijać specyfikację RTF. Według opisu formatu w Library of Congress Microsoft zaznacza, że funkcje wprowadzone w Wordzie 2010 i nowszych nie zostaną zachowane przy zapisie jako RTF. Krótko mówiąc, RTF jest nadal obsługiwany, ale już się nie rozwija.
Co jest w środku pliku RTF?
RTF opiera się na trzech elementach:
- Grupy: fragmenty ujęte w nawiasy klamrowe
{ }. Zmiana formatowania wprowadzona wewnątrz grupy kończy się wraz z jej zamknięciem. - Słowa sterujące: ciągi liter zaczynające się od ukośnika wstecznego, np.
\b(pogrubienie) lub\fs24(rozmiar czcionki w półpunktach; 24 oznacza 12 pt). Mogą przyjmować parametr liczbowy:\b1włącza pogrubienie, a\b0je wyłącza. - Symbole sterujące: ukośnik wsteczny, po którym następuje jeden znak niebędący literą, np.
\~(twarda spacja) lub\'e9(znak ze strony kodowej zapisany szesnastkowo).
Prosty dokument RTF wygląda tak:
{\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
}
Plik zaczyna się od {\rtf1, po którym następują zestaw znaków (\ansi) i strona kodowa (\ansicpg1252, zachodnioeuropejska strona kodowa Windows). Tablica czcionek (\fonttbl) i tablica kolorów (\colortbl) są zadeklarowane na początku, a w tekście odwołuje się do nich numerem. \par kończy akapit. Pozostała część dokumentu zawiera ustawienia sekcji, nagłówki i stopki, akapity oraz tabele; Library of Congress zauważa, że RTF traktuje tabele jako rodzaj akapitu.
Znaki spoza ASCII można zapisać na dwa sposoby. Starsza metoda używa szesnastkowych sekwencji, takich jak \'e9, wskazujących znak w zadeklarowanej stronie kodowej (E9 to „é” w stronie kodowej 1252). Metoda dodana w RTF 1.5 używa słów sterujących Unicode, takich jak \u322?: liczba podaje wartość Unicode znaku (322 to polskie „ł”), a znak po niej jest zastępczy dla czytników bez obsługi Unicode. RTF nie przechowuje tekstu w kodowaniu Unicode, takim jak UTF-8; sam plik to zwykle 7-bitowe ASCII.
Gdzie używa się RTF?
- Przenoszenie dokumentów między programami: przekazywanie sformatowanego tekstu między różnymi edytorami tekstu lub systemami operacyjnymi.
- Raporty generowane przez programy: wiele aplikacji biznesowych i branżowych tworzy sformatowane raporty jako RTF bez zależności od Worda, bo generowanie RTF jest znacznie prostsze niż generowanie DOCX.
- Schowek: RTF to jeden z typowych formatów używanych przy kopiowaniu sformatowanego tekstu w Windows i macOS.
- Proste edytory: WordPad i TextEdit domyślnie używają RTF.
Zalety i wady
| Zalety | Wady |
|---|---|
| Odczytywany przez niemal każdy edytor tekstu | Nierozwijany od 2008 roku |
| Format tekstowy, więc łatwo wydobyć z niego tekst | Pliki z obrazami mogą być bardzo duże |
| Brak języka makr | Osadzone obiekty OLE i odwołania do szablonów mogą stanowić zagrożenie |
| Łatwy do generowania, idealny jako wynik programów | Często nie wiadomo, którą wersję i jakie funkcje obsługuje dany program |
| Zgodność w przód i wstecz między wersjami | Zaawansowane funkcje Worda są tracone |
Uwaga o bezpieczeństwie: RTF nie może zawierać makr, ale nie jest wolny od ryzyka. Zestawienia w Wikipedii pokazują, że pliki RTF były wykorzystywane w atakach przez wstrzykiwanie szablonów i osadzone obiekty OLE, a powiązane luki w starych wersjach WordPada i w Wordzie załatano w 2017 i 2015 roku. Do plików RTF z nieznanych źródeł podchodź z taką samą ostrożnością jak do każdego innego dokumentu.
Jakie programy otwierają RTF?
Microsoft Word, LibreOffice Writer, Apple Pages, TextEdit i WPS Office potrafią otwierać i zapisywać RTF. WordPad, przez lata domyślny edytor RTF w Windows, nie jest już dołączany do aktualnych wersji Windows 11, więc potrzebny będzie tam Word lub LibreOffice. Library of Congress odnotowała też, że plików RTF nie dało się otworzyć w wersjach Worda w przeglądarce i na tablety. Dokumenty Google potrafią importować RTF i pobierać dokumenty jako RTF.
Typowe problemy i jak je rozwiązać
Znaki diakrytyczne lub nielacińskie wyświetlają się źle
Jeśli program, który utworzył plik, zadeklarował złą stronę kodową albo zamiast słów sterujących Unicode użył sekwencji szesnastkowych z innej strony kodowej, znaki się zamieniają: polskie „ł” pojawia się jako „³”, a „ż” jako „¿”, co jest klasycznym objawem pomylenia stron kodowych 1250 (Europa Środkowa) i 1252 (Europa Zachodnia). Najprostszym sposobem naprawy źródła jest otwarcie pliku w Wordzie lub LibreOffice i zapisanie go jako DOCX.
Plik jest znacznie większy, niż się spodziewałem
RTF zwykle przechowuje obrazy jako tekst szesnastkowy, a nie binarnie, co mniej więcej podwaja rozmiar danych obrazu. W przypadku dokumentów z obrazami DOCX lub PDF dają znacznie mniejsze pliki.
Formatowanie zmienia się między programami
Każdy program obsługuje inny podzbiór RTF i pomija słowa sterujące, których nie rozpoznaje. Jeśli wygląd musi być dokładny, udostępnij wersję ostateczną jako PDF.
Wskazówki dotyczące konwersji plików RTF
W naszym konwerterze pliki RTF są wysyłane na nasz serwer, przetwarzane przez LibreOffice i usuwane w ciągu 30 minut. Konwersje między RTF, DOCX, DOC i PDF przebiegają bezpośrednio, bez etapu pośredniego, więc układ strony, nagłówki i stopki, tabele i numeracja list zostają zachowane.
- RTF do Worda to najlepsza opcja, gdy chcesz edytować wynik starszego programu i zmniejszyć rozmiar pliku.
- RTF do PDF utrwala wygląd, który w innym wypadku różni się między programami.
- RTF do TXT usuwa wszystkie słowa sterujące i zostawia tylko czytelny tekst.
- Korzystając z konwersji Word do RTF, pamiętaj, że funkcje z Worda 2010 i nowszych (nowsze typy wykresów, niektóre opcje układu) mogą nie mieć odpowiednika w RTF.
- Jeśli potrzebujesz sformatowanego dokumentu ze zwykłego tekstu, TXT do RTF przenosi tekst akapit po akapicie. RTF tworzony ze źródeł takich jak HTML i Markdown także zachowuje pogrubienia, nagłówki, listy i tabele dzięki eksporterowi RTF z LibreOffice.
Najczęściej zadawane pytania
Czym różni się RTF od DOCX?
RTF opisuje formatowanie słowami sterującymi osadzonymi w zwykłym tekście i nie zmienił się od 2008 roku. DOCX to aktualna, oparta na ZIP norma złożona z części XML. DOCX obsługuje więcej funkcji i w przypadku dokumentów z obrazami jest znacznie mniejszy.
Czy plik RTF może zawierać makra?
Nie, RTF nie ma języka makr. Osadzone obiekty OLE i odwołania do szablonów mogą jednak zostać wykorzystane w złych celach, więc zachowaj ostrożność wobec plików RTF z nieznanych źródeł.
Czy RTF jest nadal obsługiwany?
Tak, Word i inne edytory tekstu nadal otwierają i zapisują RTF. Ostatnia wersja specyfikacji, 1.9.1, została jednak opublikowana w marcu 2008 roku i Microsoft nie rozwija już tego formatu.
Jak otworzyć plik RTF w Windows 11?
W wersjach bez WordPada otwórz go w Wordzie, LibreOffice Writer lub WPS Office. Jeśli chcesz go tylko przeczytać, sprawdzi się też konwersja do PDF i otwarcie w przeglądarce.
Dlaczego znaki specjalne psują się w RTF?
Zwykle dlatego, że program, który utworzył plik, zadeklarował złą stronę kodową. Programy zapisujące słowa sterujące Unicode całkowicie unikają tego problemu.


