Wat is het RTF-formaat en waarin verschilt het van DOC? Hoe te werken met RTF- en TXT-bestanden: kladblok en complexere programma's

Het RTF-bestandsformaat is bekend bij veel gebruikers die met documenten te maken hebben. Er is veel bedrijfsdocumentatie, e-books en brochures, teksten van verschillende soorten en inhoud - ze bestaan ​​allemaal, ook in de vorm van rtf-bestanden. Wanneer de behoefte zich voordoet om de inhoud van dergelijke documenten te bekijken, komt de bekende teksteditor MS Word te hulp, waardoor dit type bestanden gemakkelijk wordt geopend. Maar is dit het enige alternatief? Natuurlijk niet. In dit artikel vertel ik je hoe je een RTF-bestand opent, welke programma's ons hierbij helpen en hoe je ze kunt gebruiken.

Zoals bekend is " .rtf" is een van de vormen van tekstbestandsextensie. Deze lettercombinatie is een afkorting voor de woorden “ Rijk tekst formaat" (rijk tekst formaat). Een document in dit formaat ondersteunt de zogenaamde “rich text” (rich text), waardoor u kunt werken met verschillende opties voor tekstopmaak, verschillende lettertypen en hun groottes bij het bewerken van een document, JPG- en PNG-afbeeldingen in de tekst kunt plaatsen, ondersteuning aangepaste tabbladinstellingen, enzovoort.

Het formaat werd in 1987 door Microsoft gemaakt, onderging in de loop van twintig jaar verschillende wijzigingen en in 2008 kondigde Microsoft aan dat het het niet langer zou ondersteunen. Tegenwoordig is "rtf" echter een van de meest populaire tekstformaten.

Normaal gesproken wordt het RTF-tekstformaat geopend op de computer van vrijwel elke gebruiker (meestal met behulp van de geïnstalleerde MS Word-teksteditor). Als u geen toegang heeft om dit type bestanden te bekijken, raad ik u aan een van de programma's die ik hieronder vermeld, te installeren en te gebruiken.

De beste programma's voor het openen van rtf-bestanden

Er zijn voldoende programma's waarmee je tekstbestanden met de rtf-extensie kunt openen. Het algoritme voor het openen van dergelijke bestanden is standaard: u start het juiste programma, klikt daarin op het tabblad "Bestand", selecteert daar "Openen" en wijst het programma naar het pad naar het gewenste rtf-bestand op de schijf van uw pc.

Van de RTF-viewersoftwareproducten kan ik de volgende opties aanbevelen:

  • Microsoft WordPad is een vereenvoudigde teksteditor van Microsoft, meestal opgenomen in het Windows-besturingssysteem vanaf Windows 95. Hiermee kunt u tekstbestanden in rtf-formaat bekijken, bewerken en opslaan;

  • Microsoft Word, de populaire teksteditor die ik al noemde, maakt deel uit van het Microsoft Office-pakket met applicaties. De huidige versie van het product is Microsoft Office Word 2016;
  • Microsoft Works is een vereenvoudigd pakket kantoortoepassingen voor thuisgebruik. De teksteditor van dit pakket bevindt zich qua functionaliteit tussen het reeds genoemde WordPad en MS Word en biedt effectieve ondersteuning voor het rtf-formaat;
  • Atlantis Word Processor is een shareware-teksteditor voor Windows OS. Tot de voordelen behoren de compactheid (neemt slechts 3 megabytes in beslag) en de snelheid waarmee RTF-bestanden worden verwerkt;
  • TextMaker Viewer is een gratis applicatie voor het Windows-besturingssysteem die de overgrote meerderheid van tekstdocumenten kan openen en bekijken, inclusief het rtf-formaat dat we nodig hebben;
  • Corel WordPerfect Office X6 is een bekend kantoorsoftwarepakket van Corel, dat de teksteditor WordPerfect X3 bevat en het rtf-formaat ondersteunt. Het product is betaald;
  • Apache OpenOffice is een gratis pakket kantoorprogramma's, een uitstekend alternatief voor het betaalde Microsoft Office. De in dit pakket meegeleverde teksteditor (Writer) ondersteunt effectief het werken met rtf-bestanden;
  • AbiSource AbiWord is een gratis teksteditor, vergelijkbaar in functionaliteit met MS Word, en kan een effectief antwoord zijn op de vraag “hoe rtf te openen”;
  • TextMaker is een teksteditor die is opgenomen in de SoftMaker Office-kantoorsuite. Het ondersteunt ook het rtf-formaat.

Een bestand met dit formaat wordt ondersteund door andere teksteditors die met opgemaakte tekst kunnen werken.

Hoe een RTF-bestand online te openen

Er zijn ook verschillende online tools waarmee je rtf online kunt bekijken en bewerken. Ik zou de dienst Google Docs opmerken, waarmee je rtf-documenten online kunt bekijken.

U kunt ook de juiste extensie (Docs Online Viewer) voor Google Chrome of een analoog voor Mozilla Firefox installeren, waarmee u rtf-bestanden kunt openen met behulp van de functionaliteit van de opgegeven browsers.

Daarnaast kunt u online converters gebruiken (bijvoorbeeld Zamzar), waarmee u uw RTF-document kunt converteren naar een tekstformaat dat voor u handiger is (bijvoorbeeld naar het even populaire 'doc').


Conclusie

De programma's die ik hierboven heb genoemd, helpen je bij het bewerken van RTF-extensies. Ik raad aan om aandacht te besteden aan gratis alternatieven, in het bijzonder de OpenOffice-kantoorsuite, waarmee je helemaal gratis met dit soort bestanden kunt werken. Voor conservatieven kan ik de sjabloon Microsoft Wordpad en Microsoft Word aanbevelen - veel gebruikers, wat je ook zegt, kiezen ervoor.

In contact met

Extensies zijn enkele van de bestanden die zijn gekoppeld of die kunnen worden geopend met Microsoft WordPad. RTF-bestanden zijn tekstdocumenten die kunnen worden gemaakt, geopend, bekeken, bewerkt of gewijzigd met tekstverwerkingsprogramma's voor zowel Mac- als Microsoft Windows-computers, zoals Microsoft WordPad voor Windows en Microsoft Word 2011 voor Mac. Het geeft de gebruikers een brede cross-compatibiliteitsondersteuning, wat de centrale doelstelling was voor de verbetering van de Rich Text Format-technologie, en deze .rtf-bestanden kunnen zelfs worden geopend, bekeken en gebruikt met databasetoepassingen. Het OpenBSD Unix-platform wordt vaak gebruikt in computers die als webservers van een beveiligd netwerk draaien. OpenBSD-bestanden kunnen worden opgeslagen in mappen van het OpenBSD-systeem die zijn gegenereerd tijdens de installatie van de softwaretoepassingen. Bestanden met de .openbsd-extensie kunnen worden geopend door standaard teksteditors, vooral bekend als Microsoft Notepad, en deze teksteditor kan ook worden gebruikt om OPENBSD-bestanden te maken en te bewerken. Bestanden met de .readme-extensie zijn tekstdocumenten die bedoeld zijn om gebruikers nuttige informatie en specifieke details te geven over bepaalde applicaties die in het systeem zijn geïnstalleerd. Deze bestanden kunnen worden geopend, bekeken en bewerkt met een selectie van teksteditors, waaronder Microsoft Notepad en Microsoft WordPad.

Microsoft Word

Microsoft Word is een tekstverwerkerprogramma dat is verpakt in de Microsoft Office Suite. Het is ontwikkeld door Microsoft Corporation en genereert een .doc-bestandsextensie wanneer het bestand wordt opgeslagen. Een documentbestandsindeling (.doc) is een tekst- of binaire bestandsindeling voor het opslaan van documenten op opslagmedia, voornamelijk voor computergebruik, zoals het typen van tekst, grafieken, tabellen, paginaopmaak, grafieken, afbeeldingen en andere documenten waarvan de inhoud wordt gemaakt en bewerkt. De inhoud van deze documenten kan in elk formaat worden afgedrukt en kan op andere apparaten worden geopend, op voorwaarde dat het besturingssysteem DOC-bestanden kan lezen. Deze .doc-bestandsextensie is de facto een uitgebreide standaard geworden voor kantoordocumenten, maar het is een eigen formaat en wordt niet altijd volledig ondersteund door andere tekstverwerkers. Een verscheidenheid aan programma's die dit type bestand kunnen openen, en verschillende besturingssystemen en geïnstalleerde programma's die een 1ST-bestand kunnen openen, zijn: Microsoft Word, Microsoft Notepad, Microsoft Word, IBM Lotus WordPro en Corel WordPerfect.

Microsoft Kladblok

Microsoft Kladblok

Kladblok is een eenvoudige teksteditor die wordt gebruikt om gewone documenten te maken. Het wordt vaak gebruikt om tekstbestanden (.txt) te bekijken of te bewerken, en is een eenvoudig hulpmiddel voor het maken van webpagina's, en ondersteunt alleen de basisopmaak in HTML-documenten. Het heeft ook een eenvoudige ingebouwde logfunctie. Telkens wanneer een bestand wordt geopend dat wordt geïnitialiseerd met .log, voegt het programma een teksttijdstempel in op de laatste regel van het bestand. Het accepteert tekst van het Windows-klembord. Dit is handig bij het verwijderen van ingesloten lettertype- en stijlcodes uit opgemaakte tekst, zoals bij het kopiëren van tekst van een webpagina en plakken in een e-mailbericht of ander bericht. Â teksteditor. De opgemaakte tekst wordt tijdelijk in Kladblok geplakt en vervolgens onmiddellijk opnieuw in gestript formaat gekopieerd om in het andere programma te worden geplakt. Eenvoudige teksteditors zoals Kladblok kunnen worden gebruikt om tekst met opmaak te wijzigen, zoals HTML. Vroege versies van Kladblok boden alleen de meest elementaire functies, zoals het vinden van tekst. Nieuwere versies van Windows bevatten een bijgewerkte versie van Kladblok met een zoek- en vervangfunctie (Ctrl + H), evenals Ctrl + F voor zoeken en soortgelijke sneltoetsen. Het maakt gebruik van een ingebouwde vensterklasse genaamd edit. In oudere versies, zoals Windows 95, Windows 98, Windows Me en Windows 3.1, is er een limiet van 64k voor de grootte van het bestand dat wordt bewerkt, een besturingssysteemlimiet van de EDIT-klasse.


Microsoft werkt

Microsoft werkt

Microsoft Works is geïntegreerde pakketsoftware die is ontwikkeld door Microsoft. Het is goedkoper, kleiner en heeft minder functies dan Microsoft Office of andere kantoorsuites. De centrale functionaliteit omvat een tekstverwerker, een spreadsheet en een databasebeheersysteem. Nieuwere versies hebben een kalenderapplicatie en een woordenboek, terwijl oudere versies een terminalemulator bevatten. Bestanden met de WPS-extensie worden gebruikt voor uitvoerbestanden van de tekstverwerkingsprogramma Microsoft Works. Deze bestanden worden geclassificeerd als tekstdocumenten die kunnen worden gemaakt, opgeslagen, bekeken en bewerkt met het Microsoft Works-programma. Microsoft Word 2010, Microsoft Publisher 2010, Planamesa NeoOffice en OxygenOffice Professional zijn enkele van de toepassingen die de inhoud van deze WPS-bestanden kunnen openen en bekijken. De inhoud van deze WPS-bestanden kan ook worden geëxporteerd naar andere compatibele Word-documentformaten. Dit bevordert het gemak en de efficiënte presentatie van documenten, groepssamenwerking en delen tussen gebruikers van verschillende systemen en tekstverwerkingstoepassingen; WPS-documenten kunnen echter niet worden toegepast met macro's en andere opmaakopties die beschikbaar zijn in Microsoft Word; daarom stopte Microsoft met de ondersteuning en ontwikkeling van de Microsoft Works-applicatie met versie 9 en de release van Microsoft Word 2010.

Kladblok2

De Notepad2-applicatie is een geavanceerdere teksteditor voor Windows, ontwikkeld door Florian Balmer. Dit programma is ontstaan ​​uit het originele ingebouwde Microsoft Notepad en is daarom ook effectief en snel, zelfs als het klein is. Notepad2 heeft ook veel functies, zoals syntaxisaccentuering waarmee een tekst of een broncode kan worden weergegeven met verschillende lettertypen en kleuren. Met deze syntaxisaccentuerende functie van notepad2 kunnen gebruikers eenvoudig en duidelijk programmeertaal schrijven. Deze geweldige functie van Notepad2 is ook te danken aan verschillende andere functies die het bezit, zoals automatisch inspringen, reguliere en op expressies gebaseerde zoek- en vervangfuncties, haakjesmatching, conversie van nieuwe regels, coderingsconversie en meerdere functies voor ongedaan maken en opnieuw uitvoeren. Deze eigenschappen maken de functie van het eenvoudige Kladblok geavanceerder en maken Kladblok interessanter om te gebruiken om bestanden in .txt-formaat te openen of om HTML-codes te schrijven. Notepad2 ondersteunt ook vele programmeertalen zoals ASP, C++, Perl, Java, etc. - Extensie (formaat) zijn de tekens aan het einde van het bestand, na de laatste punt.
- De computer bepaalt het bestandstype aan de hand van de extensie.
- Standaard toont Windows geen bestandsnaamextensies.
- Sommige tekens kunnen niet worden gebruikt in de bestandsnaam en extensie.
- Niet alle formaten zijn gerelateerd aan hetzelfde programma.
- Hieronder staan ​​alle programma's waarmee u het RTF-bestand kunt openen.

De gebruiksvriendelijke software van Calibre maakt bibliotheekbeheer echt gemakkelijk. Calibre helpt u al uw bestaande boeken in een georganiseerde bibliotheek te organiseren. Met het programma kunt u deze handelingen in relatief korte tijd ontspannen uitvoeren. Het programma is ook uitgerust met een handige conversiefunctie voor tekstformaten die het meest worden gebruikt in e-books. Naast de verschillende hulpprogramma's in het programma die dienen om formaten te converteren, bevat het ook een nieuwsintegrator, evenals een functie waarmee u gegevens kunt synchroniseren met een elektronische lezer...

LibreOffice is een gratis softwarepakket voor het werken met tekst, tabellen, databases, enz. In de kern is dit een gratis analoog van het bekende Microsoft Office met de toevoeging van nieuwe functies die niet in een vergelijkbaar betaald pakket zitten. De interface van dit pakket is vergelijkbaar met oudere versies van “office”, zodat vrijwel elke gebruiker de applicatie kan begrijpen. Vooral als hij ooit met kantoorapplicaties heeft gewerkt. Het pakket bevat verschillende applicaties die dezelfde functies uitvoeren als hun Microsoft Office-tegenhangers. Het Writer-programma is bijvoorbeeld een vrijwel volledige kopie van Word met ondersteuning voor alle populaire bestandsformaten, inclusief...

NI Transliterator is een interessant programma dat helpt bij het converteren van tekst uit transliteratie. Werkt met Russische en Engelse talen. Biedt minimale tekstopmaak. Hiermee kunt u documenten in RTF-formaat downloaden en na verwerking opslaan. Ondersteunt populaire transliteratiesystemen en door de gebruiker gedefinieerde tabellen. Werkt met GOST 16876-71 en het Russisch-Engelse systeem. NI Transliterator ondersteunt het converteren van tekens in tekst naar hoofdletters of kleine letters. Het hulpprogramma werkt met de functie van het wijzigen van de codering van Russische woorden en helpt bij het tellen van het aantal tekens in elke tekst. Telfunctie...

Cool Reader is een ander goed programma voor het lezen van e-boeken, dat niet alleen een multifunctionele bestandsviewer combineert, maar ook een "prater". Over het algemeen is dit programma zeer nuttig bij het behouden van uw gezichtsvermogen, omdat het het lezen van tekst maximaal aan uw ogen aanpast en het vloeiender maakt. Het programma begrijpt paragrafen, koppen, kan het lettertype wijzigen, vloeiende overgangen gebruiken, enz. Een ander kenmerk van het programma is ondersteuning voor synthesizers. Die. Het Cool Reader-programma kan een soort synthesizer gebruiken om een ​​boek te lezen, in dit geval kunt u over het algemeen uw gang gaan en niet...

WindowsOffice is een handig en klein analoog van het gebruikelijke kantoorpakket. Bevat de benodigde programma's voor het werken met tekstdocumenten en spreadsheets. Hiermee kunt u alle documenten bewerken, zelfs eerdere versies van MSWord. Geschikt voor dagelijks gebruik, vereist geen activering. Het werkt veel sneller en slaat documenten op zonder te bevriezen. Ondersteunt een verzameling sjablonen. Met WindowsOffice kan de gebruiker dezelfde handelingen uitvoeren als zijn analoge applicatie. Hiermee kunt u verschillende afbeeldingen in een document invoegen. Heeft een versie voor tablets. Gekenmerkt door lichtgewicht, snelle...

Balabolka is een programma voor het voorlezen van tekstbestanden in een breed scala aan DOCX-, RTF-, PDF-, ODT-, FB2- en HTML-formaten. Nu hoeft u uw gezichtsvermogen niet te beschadigen door dit of dat boek te lezen. Balabolka leest elke tekst hardop voor, ongeacht welke taal. Met auditieve perceptie kun je, zoals bekend, een veel grotere hoeveelheid informatie assimileren en onthouden dan bij normaal lezen. En nog belangrijker: sneller. Balabolka leest alles voor je terwijl jij rustig iets anders doet. Elk boek creëert, wanneer het wordt gelezen, een bepaalde sfeer, maar nu kun je het creëren met de hulp van Balabolka. Tijdens het afspeelproces kunt u...

Calligra is een unieke applicatie die een reeks handige hulpprogramma's biedt voor interactie met verschillende documenten. Bevat een reeks handige programma's voor het werken met tekst, databases, spreadsheets en presentatiebestanden. De applicatie beschikt over een Flow-editor voor het maken en bewerken van stroomdiagrammen en diagrammen. Voor het werken met complexe vectorafbeeldingen is er ook een Carbon-programma, dat qua opties niet onderdoet voor andere editors. Calligra bevat een speciale auteursapplicatie waarmee u uw eigen boeken kunt schrijven. Eén van de pakketprogramma's is verantwoordelijk voor het maken en bewerken van afbeeldingen (Krita). Is een uitstekende vervanger...

Een van de meest populaire kantoorpakketten, gekenmerkt door een overvloed aan functies, waaronder de mogelijkheid om spelling te controleren. Allereerst valt dit pakket op door het feit dat het volledig gratis is, waardoor je het op elke computer kunt gebruiken. Hiermee kunt u alle algemene taken uitvoeren. Het bevat dus een teksteditor, een spreadsheet-editor en een programma voor het maken van sjablonen of presentaties, evenals dia's. Bovendien is het open source, waardoor je er indien nodig wijzigingen in kunt aanbrengen. Bovendien kan de applicatie op vrijwel elk besturingssysteem worden geïnstalleerd...

WPS Office is een ander pakket voor het werken met office-documenten, dat een alternatief is voor de bekende applicatie van Microsoft. Dit pakket bevat bijna alle tools die u nodig heeft om bestanden te bewerken. Zo bevat het WPS Office-pakket een handige teksteditor die vrijwel alle kantoorapplicatieformaten kan openen, bijvoorbeeld doc. Dit programma kan ook werken met HTML-pagina's en andere tekstbestanden openen. Er is een applicatie voor het maken van presentaties, die ook vergelijkbaar is met het populaire pakket van Microsoft. Het bevat de noodzakelijke reeks functies die elk geslacht nodig heeft...

Free Opener is een redelijk functionele viewer van de meest populaire bestanden, waaronder Winrar-archieven, Microsoft Office-documenten, PDF, Photoshop-documenten, torrent-bestanden, pictogrammen, webpagina's, tekstdocumenten, audio- en videobestanden, grafische bestanden inclusief Flash en nog veel meer. Het aantal ondersteunde bestanden overschrijdt de zeventig. Het programma heeft niet de gebruikelijke instellingen en opties, behalve het wijzigen van het ontwerp. Het is ook noodzakelijk om op te merken dat er geen Russische taal is, maar onderschat het programma gezien de eenvoud niet. Free Opener is een universeel en erg handig programma voor het lezen van verschillende soorten bestanden.

Laten we ons onderzoek voortzetten om tekst uit verschillende gegevensformaten te verkrijgen. Nog niet zo lang geleden hebben we geleerd hoe we tekst kunnen extraheren uit gezipte XML-bestanden (odt en docx), en eerder deze week ook uit pdf. Vandaag gaan we verder met de beloofde rtf.

Rich Text Format (ook bekend als rtf), zou je kunnen denken, is een tamelijk vergeten, hoewel niet erg complex, formaat voor het weergeven van tekstgegevens. Welnu, het is relatief eenvoudig om tekst te verkrijgen, maar gedurende zijn geschiedenis: vanaf de eerste versie tot de huidige 1.9.1 - heeft het ongeveer 300 pagina's aan officiële documentatie verworven en een groot aantal add-ons die ons zullen hinderen bij een grotere mate bij het ontvangen van platte tekst. Laten we proberen deze te omzeilen...

Wat zit erin?

Laten we zoals gewoonlijk eens in het rtf-bestand kijken en kijken wat erin zit:

Wat zien we? Ik zie ons favoriete gedicht "Sail". We zien in eerste instantie een tekstformaat van 8 bits. Dit is al bemoedigend: als de brongegevens tekst bevatten, is het veel gemakkelijker om te begrijpen wat er gebeurt. Laten we nu eens kijken hoe we deze gegevens kunnen lezen. Om dit te doen, zal ik je een beetje theorie over dit onderwerp vertellen.

We gaan ervan uit dat rtf bestaat uit controle woorden, wat kan zijn gegroepeerd in geneste sets. Het controlewoord begint met een backslash (\), de groep staat tussen accolades (( en )).

Het stuurwoord bestaat uit een reeks letters van het Engelse alfabet (van a tot z) en kan worden aangevuld met een numerieke parameter (eventueel negatief). Als alternatief kan het woord één niet-alfabetisch ascii-teken bevatten. Alles wat niet binnen deze regels valt, maakt geen deel uit van het controlewoord. Een reeks met de vorm \rtf1\ansi\ansicpg1251 kan dus eenvoudig worden verdeeld in drie woorden rtf met parameter 1 (hoofdversie van het formaat), ansi (huidige codering) en ansicpg met parameter 1251 (huidig ​​codepaginanummer 1251 - d.w.z. Windows -1251).

Gegroepeerde sets definiëren de reikwijdte van controlewoorden. Controlewoorden die tussen accolades staan, werken dus alleen daarbinnen en in alle onderliggende subsets. Om correct uit te rekenen welke woorden nu aanwezig zijn, moet u een stapel controlewoorden bijhouden. Wanneer u een accolade opent, maakt u een nieuw array-element op de stapel, waaraan u onmiddellijk gegevens uit de vorige laag van de stapel toevoegt; wanneer u een accolade sluit, verwijdert u de bovenste laag.

Het is ook de moeite waard om op te merken dat sommige controlewoorden kunnen worden gesloten door een nulparameter toe te voegen in plaats van een nieuwe subgroep te maken. De volgende opties zijn bijvoorbeeld gelijkwaardig: Dit is (\b vetgedrukt) tekst , Dit is \b vetgedrukt \b0 tekst = Dit is vetgedrukt tekst.

Waar haal je de tekst vandaan?

We hebben kennis gemaakt met het apparaat van een nieuw formaat voor ons, nu zullen we ons afvragen waar we de tekst kunnen krijgen. Alles is hier niet zo ingewikkeld als het lijkt - de tekst moet worden genomen waar de huidige reeks niet als controlewoord wordt geïdentificeerd. Op een paar uitzonderingen na natuurlijk.

Ten eerste is het vermeldenswaard dat de originele codering van het rtf-bestand ANSI is, dus zonder enige opsmuk wordt alleen Engelse tekst opgeslagen. We zijn op zijn minst geïnteresseerd in Russische tekst, en nog beter in Unicode, toch? Wat waar is, is waar: rtf, hoewel een oud formaat, is geschikt om beide op te slaan.

Dus in rtf" is het mogelijk om de tweede helft van de ASCII-tabel te gebruiken, dat wil zeggen vanaf 128 en hoger. Uiteraard rekening houdend met de huidige codering (boven het controlewoord \ansicpg). Hiervoor is een reeks van de vorm \"hh werd geïntroduceerd in RTF, waarbij hh de binaire hexadecimale code is van het teken uit de ASCII-tabel.

Welnu, de tweede, interessantere optie zijn Unicode-gecodeerde gegevens. Voor hen bevat het formaat een kort en bondig trefwoord \uABCD met de digitale parameter ABCD. ABCD is in dit geval de code van een Unicode-teken in het decimale getalsysteem. Alles is weer eenvoudig, zoals je misschien hebt gemerkt.

Eenvoudig, maar niet erg goed. Er is nog een sleutelwoord in rtf, \ucN, dat nauw verwant is aan Unicode. Feit is dat het RTF-formaat zeer ijverig de compatibiliteit handhaaft met oudere apparaten waarop u dit bestand mogelijk moet openen. Als alternatief kan een dergelijk apparaat (bijvoorbeeld een computer met Windows 3.11 :) Unicode niet lezen. Wat moet het doen? Om dit te doen, kan na elk Unicode-teken dat is gecodeerd met het trefwoord \u, van nul tot meerdere tekens worden opgegeven, die moeten worden weergegeven als de rtf-viewer de huidige gegevens niet kan weergeven of parseren (volgens de documentatie, als de kijker kan de gegevens niet correct weergeven, hij moet deze overslaan).

In dit opzicht plaatsen de meeste moderne editors een vraagteken achter het Unicode-controlewoord als teken dat ze getoond willen worden in plaats van het huidige teken. Maar opties zijn ook mogelijk, bijvoorbeeld: Lab\u915GValue . Laten we ons afvragen hoeveel tekens er moeten worden weergegeven als er geen manier is om Unicode weer te geven. Nogmaals, alles is niet erg ingewikkeld - het bovenstaande trefwoord \ucN als parameter N levert deze waarde. Die. Iets als \uc1 zal zeker vóór de Unicode-gegevens verschijnen, wat ons zal vertellen dat we één teken na de Unicode moeten overslaan.

Laten we lezen!

Het lijkt erop dat de gegevens die we hebben verzameld voldoende zullen zijn om onze eerste rtf-bestanden te lezen. Gaan:
  1. functie rtf_isPlainText($s) (
  2. $failAt = array ("*" , "fonttbl" , "colortbl" , "datastore" , "themedata" );
  3. voor ($i = 0; $i< count ($failAt ) ; $i ++ )
  4. if (! leeg ($s [ $failAt [$i ] ]) ) retourneert false ;
  5. retourneer waar;
  6. functie rtf2text($bestandsnaam) (
  7. $text = file_get_contents($bestandsnaam);
  8. als (!strlen($text))
  9. opbrengst "" ;
  10. $document = "" ;
  11. $stapel = array ();
  12. $j = - 1;
  13. voor ($i = 0; $i< strlen ($text ) ; $i ++ ) {
  14. $c = $tekst [$i] ;
  15. schakelaar ($c) (
  16. geval " \\ " :
  17. $nc = $tekst [ $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 ($tekst, $i + 2, 2);
  24. $document .= html_entity_decode ("" . hexdec ($hex ) . ";" );
  25. $i += 2 ;
  26. ) elseif ($nc >= "a" && $nc<= "z" || $nc >= "A" && $nc<= "Z" ) {
  27. $woord = "" ;
  28. $param = nul;
  29. voor ($k = $i + 1 , $m = 0 ; $k< strlen ($text ) ; $k ++, $m ++ ) {
  30. $nc = $tekst [$k] ;
  31. als ($nc >= "a" && $nc<= "z" || $nc >= "A" && $nc<= "Z" ) {
  32. als (leeg ($param) )
  33. $woord .= $nc ;
  34. anders
  35. pauze ;
  36. ) elseif ($nc >= "0" && $nc<= "9" )
  37. $param .= $nc ;
  38. elseif ($nc == "-" ) (
  39. als (leeg ($param) )
  40. $param .= $nc ;
  41. anders
  42. pauze ;
  43. ) anders
  44. pauze ;
  45. $i += $m - 1 ;
  46. $naarText = "" ;
  47. switch(strtolower($word)) (
  48. geval "u":
  49. $toText .= html_entity_decode ("" . dechex ($param ) . ";" );
  50. $ucDelta = @ $stack [$j] [ "uc" ] ;
  51. als ($ucDelta > 0 )
  52. $i += $ucDelta ;
  53. pauze ;
  54. case "par": case "pagina": case "kolom": case "line": case "lbr":
  55. $naarText .= " \N";
  56. pauze ;
  57. case "emspace": case "enspace": case "qmspace":
  58. $naarText .= " " ;
  59. pauze ;
  60. case "tab" : $toText .= " \T"; pauze ;
  61. case "chdate" : $toText .= date ("m.d.Y" ) ; pauze ;
  62. case "chdpl" : $toText .= datum ("l, j F Y" ) ; pauze ;
  63. case "chdpa" : $toText .= datum ("D, j M Y" ); pauze ;
  64. case "chtime" : $toText .= datum ("H:i:s" ) ; pauze ;
  65. case "emdash" : $toText .= html_entity_decode ("—" ); pauze ;
  66. case "endash": $toText .= html_entity_decode ("-" ); pauze ;
  67. case "bullet": $toText .= html_entity_decode ("" ); pauze ;
  68. case "lquote" : $toText .= html_entity_decode ("'" ); pauze ;
  69. case "rquote": $toText .= html_entity_decode ("'" ); pauze ;
  70. case "ldblquote": $toText .= html_entity_decode (""" ); pauze ;
  71. case "rdblquote": $toText .= html_entity_decode (""" ); pauze ;
  72. standaard:
  73. $stack [ $j] [ strtolower ($word ) ] = leeg ($param ) ? waar: $param;
  74. pauze ;
  75. if (rtf_isPlainText($stack [$j] ) )
  76. $document .= $naarTekst ;
  77. $i++;
  78. pauze ;
  79. geval "(" :
  80. array_push ($stack, $stack [$j++]) ;
  81. pauze ;
  82. geval ")" :
  83. array_pop ($stapel) ;
  84. $j--;
  85. pauze ;
  86. geval "\0" : geval "\r" : geval "\f" : geval "\n" : breuk ;
  87. standaard:
  88. if (rtf_isPlainText($stack [$j] ) )
  89. $document .= $c ;
  90. pauze ;
  91. retourneer $document;
Je kunt de code met opmerkingen verkrijgen op