2012-06-28 16 views
5

de que este intento código¿Hay alguna manera de convertir el documento de Word de Microsoft al formato de archivo .txt del bloc de notas?

string[] ext = att.Name.Split('.'); 
string file = ext[0].ToString(); 
object Target = file + ".txt"; 
object nullobject = System.Reflection.Missing.Value; 

Application.Documents.Open(ref FileName, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref value, ref value, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj); 
object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatUnicodeText; 

Application.ActiveDocument.SaveAs(ref Target, ref format, 
         ref Unknown, ref Unknown, ref Unknown, 
         ref Unknown, ref Unknown, ref Unknown, 
         ref Unknown, ref Unknown, ref Unknown, 
         ref Unknown, ref Unknown, ref Unknown, 
         ref Unknown, ref Unknown); 
Application.Visible = false; 
Microsoft.Office.Interop.Word.Document oDoc1 = Application.ActiveDocument; 
string strNewDocText1 = oDoc1.Content.Text; 

Pero en strNewDocText1 obtener una salida incluyendo balas y palabra de más formiato

quiero sin formato de texto simple de mi documento de Word en documnt texto.

+0

No puede usar de forma segura las API de Office desde un programa de servicio como ASP.NET. Fueron diseñados solo para escritorio. –

+0

¿Puedo saber la razón de eso? –

+0

Consulte [Consideraciones para la automatización del lado del servidor de Office] (http://support.microsoft.com/kb/257757) –

Respuesta

2

creo que tomó este ejemplo desde aquí: http://www.codeproject.com/Articles/5273/How-to-convert-DOC-into-other-formats-using-C

Así que, básicamente, tiene un RTF, que debe ser convertir a texto sin formato. Aquí hay un ejemplo

El enfoque más simple es solo para agregar una referencia a System.Windows.Forms.dll.

System.Windows.Forms.RichTextBox rtBox = new System.Windows.Forms.RichTextBox(); 

string richText = text// The rich text (with bullets and so on.) 
rtBox.Rtf = richText ; 
string plainText = rtBox.Text; 

System.IO.File.WriteAllText(@"output.txt", plainText); 
+1

Pero mi aplicación no es la aplicación de escritorio –

+1

Esto no significa que no pueda agregar referencia a ese ensamblaje. Esa es la solución más rápida y simple. – Nas

+0

Él no tiene no disponible no RichTextBox ... por el momento –

Cuestiones relacionadas