2012-06-28 17 views
5

provo questo codiceEsiste un modo per convertire il documento Microsoft Word nel file del blocco note .txt formate?

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; 

Ma in strNewDocText1 ottenere l'output tra cui proiettili e parola in più formiato

voglio semplice formato testo normale del mio documento Word in documnt testo.

+0

Non è possibile utilizzare in modo sicuro le API di Office da un programma di servizio come ASP.NET. Sono stati progettati solo per uso desktop. –

+0

Posso sapere la ragione per questo? –

+0

Vedere [Considerazioni per l'automazione lato server di Office] (http://support.microsoft.com/kb/257757) –

risposta

2

Credo che questo esempio preso da qui: http://www.codeproject.com/Articles/5273/How-to-convert-DOC-into-other-formats-using-C

Quindi, in pratica si ha un RTF, che deve essere convertito in testo normale. Ecco un esempio

L'approccio più semplice è solo aggiungere riferimento 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

Ma la mia applicazione non è l'applicazione desktop –

+1

Ciò non significa che non si possa aggiungere un riferimento a tale assembly. Questa è la soluzione più veloce e più semplice. – Nas

+0

Non ha non disponibile RichTextBox ... al momento –

Problemi correlati