2012-06-28 30 views
5

tôi cố gắng mã nàyCó cách nào để chuyển đổi tài liệu từ Microsoft sang tập tin notepad .txt formate không?

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; 

Nhưng trong strNewDocText1 có được đầu ra bao gồm đạn và lời thêm formate

Tôi muốn định dạng plain-text đơn giản của tài liệu chữ của tôi vào documnt văn bản.

+0

Bạn không thể sử dụng an toàn API Office từ chương trình dịch vụ như ASP.NET. Chúng được thiết kế chỉ để sử dụng trên máy tính để bàn. –

+0

Tôi có thể biết lý do cho điều đó không? –

+0

Xem [Cân nhắc cho Tự động hóa phía máy chủ của máy chủ] (http://support.microsoft.com/kb/257757) –

Trả lời

2

Tôi tin rằng bạn mất ví dụ này từ đây: http://www.codeproject.com/Articles/5273/How-to-convert-DOC-into-other-formats-using-C

Vì vậy, về cơ bản bạn có một RTF, mà phải được chuyển đổi sang văn bản đơn giản. Dưới đây là ví dụ

Cách tiếp cận đơn giản nhất là chỉ thêm tham chiếu đến 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

Nhưng ứng dụng của tôi không phải là ứng dụng máy tính để bàn –

+1

Điều này không có nghĩa là bạn không thể thêm tham chiếu đến asembly đó. Đó là giải pháp nhanh nhất và đơn giản nhất. – Nas

+0

Anh ấy không có sẵn không phải RichTextBox ... tại thời điểm –

Các vấn đề liên quan