2009-02-27 15 views
16

से सादा पाठ प्राप्त करें मेरे पास मेरे डेटाबेस पर एक कॉलम है जो आरटीएफ प्रारूप में टेक्स्ट रखता है।एक आरटीएफ पाठ

सी # का उपयोग करके, मैं इसका केवल सादा पाठ कैसे प्राप्त कर सकता हूं?

धन्यवाद: डी

+0

[यहां एक और सवाल है] (http://stackoverflow.com/questions/188545/regular-expression-for-extracting-text-from-an-rtf-string) जो रेगेक्स मार्ग पर चर्चा करता है। – dkretz

उत्तर

28

माइक्रोसॉफ्ट an example जहां वे मूल रूप से एक RichTextBox में rtf पाठ रहना और फिर .Text संपत्ति पढ़ प्रदान करता है ... यह कुछ हद तक kludgy महसूस करता है, लेकिन यह काम करता है।

static public string ConvertToText(string rtf) 
{ 
    using(RichTextBox rtb = new RichTextBox()) 
    { 
     rtb.Rtf = rtf; 
     return rtb.Text; 
    } 
} 
+1

यह हमेशा मुझे परेशान करता था। इसके अलावा, आपको इसे एसटीए थ्रेड में करना है, जो आम तौर पर अधिकांश प्रोग्राम के थ्रेडिंग मॉडल के साथ गड़बड़ करता है। – Will

+0

@Will: मैं दावा नहीं कर रहा था कि यह सबसे अच्छा तरीका था ... –

+0

अंतर्निहित RichTextBox कोड को देखने के बाद ... हाँ, आप इसका उपयोग करना चाहते हैं क्योंकि यह एक जटिल जानवर है। –

0

यदि आप शुद्ध कोड संस्करण चाहते हैं, तो आप स्वयं आरटीएफ को पार्स कर सकते हैं और केवल टेक्स्ट बिट्स को ही पा सकते हैं। यह थोड़ा सा काम है, लेकिन बहुत मुश्किल काम नहीं - आरटीएफ फाइलों का एक बहुत ही सरल वाक्यविन्यास है। Read about it in the RTF spec

+0

हाँ, जब तक आप स्तंभों के साथ तालिकाओं तक नहीं पहुंच जाते :) लेकिन सरल बोल्ड/इटैलिक स्वरूपण आसान है। – crashmstr

+0

अच्छा बिंदु। शैतान विवरण में है। –

संबंधित मुद्दे