Читать dox, docx файлы в одном стиле - PullRequest
2 голосов
/ 21 июля 2011

Я использую приведенный ниже код для чтения документов 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;

Ответы [ 2 ]

0 голосов
/ 21 июля 2011

Я бы посоветовал вам взглянуть на что-то вроде Telerik's RadRichTextBox, который может правильно читать и обрабатывать файлы .docx (и я думаю .doc). В противном случае вам придется преобразовать данные в то, что может понять элемент управления RichTextBox (в котором вы потеряете много функций).

0 голосов
/ 21 июля 2011

Я думаю, что вам не повезло в этом случае.

Richtextbox далеко не так мощен, как Word. Если бы это было так, каждый делал бы копии Word, а MS терял бы деньги.

Вы можете заставить его работать частично (как и вы). Но никогда не бывает достаточно хорошим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...