Tengo en mi base de datos una columna que contiene texto en formato RTF.Obtener texto sin formato de un texto RTF
¿Cómo puedo obtener solo el texto sin formato, usando C#?
Gracias: D
Tengo en mi base de datos una columna que contiene texto en formato RTF.Obtener texto sin formato de un texto RTF
¿Cómo puedo obtener solo el texto sin formato, usando C#?
Gracias: D
Microsoft proporciona an example donde básicamente se pegan el texto RTF en un RichTextBox
y luego leer la propiedad .Text
... se siente un tanto kludgy, pero funciona.
static public string ConvertToText(string rtf)
{
using(RichTextBox rtb = new RichTextBox())
{
rtb.Rtf = rtf;
return rtb.Text;
}
}
Esto siempre me molestó. Además, tienes que hacer esto en un hilo STA, que generalmente se mezcla con el modelo de subprocesamiento de la mayoría de los programas. – Will
@Will: No estaba diciendo que era la mejor manera ... –
Después de haber examinado el código subyacente de RichTextBox ... sí, querrás usarlo porque es una bestia compleja. –
Si quiere una versión de código puro, puede analizar el rtf usted mismo y conservar solo los bits de texto. Es un poco de trabajo, pero no muy difícil: los archivos RTF tienen una sintaxis muy simple. Read about it in the RTF spec.
, sí, hasta que llegue a las tablas con columnas :) Pero el formato simple en negrita/cursiva es fácil. – crashmstr
Buen punto. El diablo está en los detalles. –
[Aquí hay otra pregunta] (http://stackoverflow.com/questions/188545/regular-expression-for-extracting-text-from-an-rtf-string) que analiza la forma de la expresión regular. – dkretz