【问题标题】:Read dox,docx files with the same style读取相同样式的dox,docx文件
【发布时间】:2011-10-10 06:16:44
【问题描述】:

我使用下面的代码来读取 doc、docx 文件并在 Richtextbox 中显示它们,但是这种方式无法显示具有相同样式的文件。例如,如果文本是红色的,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;

【问题讨论】:

    标签: c# text colors ms-word


    【解决方案1】:

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

    Richtextbox 远没有 Word 强大。如果是这样,每个人都会复制 Word,而 MS 会赔钱。

    您可能会使其部分工作(就像您所做的那样)。但永远不够好。

    【讨论】:

    • 我只想在里面打开doc文件
    • 没有“公正”。 Doc是一种复杂的格式。您的richtextbox 将如何处理页面?或页眉和页脚?最好的办法是打开 Word 并在那里显示文档。
    • C# 是一门语言。在.NET 框架中?不。您可能会为此找到一些商业组件。
    【解决方案2】:

    我建议你看看像Telerik'sRadRichTextBox 这样可以正确读取处理.docx(我认为是.doc)文件的东西。否则,您将不得不将数据转换为 RichTextBox 控件可以理解的内容(您将失去很多功能)。

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 2012-08-25
      相关资源
      最近更新 更多