2009-02-27 18 views
16

Ich habe in meiner Datenbank eine Spalte, die Text im RTF-Format enthält.Get-Text aus einem RTF-Text

Wie kann ich nur den einfachen Text davon mit C# bekommen?

Dank: D

+0

[Hier ist eine andere Frage] (http://stackoverflow.com/questions/188545/regular-expression-for-extracting-text-from-an-rtf-string), die den Regex-Weg diskutiert. – dkretz

Antwort

28

Microsoft bietet an example, wo sie im Grunde die rtf Text in einem RichTextBox kleben und dann lesen Sie die .Text Eigenschaft ... es fühlt sich etwas kludgy, aber es funktioniert.

+1

Das hat mich immer genervt. Außerdem müssen Sie dies in einem STA-Thread tun, der normalerweise mit dem Threading-Modell der meisten Programme verwechselt wird. – Will

+0

@Will: Ich habe nicht behauptet, dass es der beste Weg war ... –

+0

Nachdem ich den zugrundeliegenden RichTextBox-Code angeschaut habe ... ja, du wirst ihn benutzen wollen, weil es ein komplexes Biest ist. –

0

Wenn Sie eine reine Codeversion wünschen, können Sie das rtf selbst analysieren und nur die Textbits behalten. Es ist ein bisschen Arbeit, aber keine sehr schwierige Arbeit - RTF-Dateien haben eine sehr einfache Syntax. Read about it in the RTF spec.

+0

Ja, bis Sie zu Tabellen mit Spalten kommen :) Aber einfache Fett/Kursiv Formatierung ist einfach. – crashmstr

+0

Guter Punkt. Der Teufel steckt in den Details. –