阅读具有相同风格的dox,docx文件

时间:2011-07-21 13:45:52

标签: c# text colors ms-word

我使用下面的代码来读取doc,docx文件并在richtextbox中显示它们但是这种方式无法显示具有相同样式的文件。例如,如果文本是红色的,富文本框显示为黑色 我该怎么办?

 Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.ApplicationClass();
        object nullobj = System.Reflection.Missing.Value;
        object file = openFileDialog1.FileName;

        Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(ref file, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);

        doc.ActiveWindow.Selection.WholeStory();
        doc.ActiveWindow.Selection.Copy();
        IDataObject data = Clipboard.GetDataObject();
        string text = data.GetData(DataFormats.Text).ToString();
        Console.WriteLine(text);
        doc.Close(ref nullobj, ref nullobj, ref nullobj);
        app.Quit(ref nullobj, ref nullobj, ref nullobj);

        richTextBox1.Text = text;

2 个答案:

答案 0 :(得分:0)

我认为你在这种情况下运气不好。

Richtextbox远不如Word强大。如果是的话,每个人都会制作Word和MS的副本会浪费钱。

你可以让它部分工作(就像你一样)。但从来都不够好。

答案 1 :(得分:0)

我建议你看看类似Telerik's RadRichTextBox的内容,它可以正确读取.docx(和我认为.doc)文件。否则,您将不得不将数据转换为RichTextBox控件可以理解的内容(其中您将失去许多功能)。