Как загрузить и отредактировать файл .docx / .doc в richtexbox или любой другой элемент управления в winforms с правильным форматом документа? - PullRequest
0 голосов
/ 27 сентября 2019

Я создаю одно настольное приложение winforms в c #, которое загружает файл .docx.Я хочу загрузить файл .docx в RichTextBox .Но когда я пытаюсь загрузить файл .docx, формат этого файла не становится правильным.Есть ли другие элементы управления или методы для загрузки и сохранения файла .docx с правильным форматом документа?

1 Ответ

0 голосов
/ 27 сентября 2019

Используйте это, чтобы прочитать текст файла и добавить возвращенную строку в Richtextbox.

 private string GetWordFileText(string filepath)
        {
            Microsoft.Office.Interop.Word.ApplicationClass WordApp = null;
            Microsoft.Office.Interop.Word.Document doc = null;
            try
            {
                WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
                doc = WordApp.Documents.Open(filepath, Visible: false);
                string toReturn = doc.Content.Text;
                return toReturn;
            }
            catch (Exception e)
            { throw e; }
            finally
            {
                doc.Close();
                WordApp.Quit();
            }
        }

После этого начинается стилизация документа.У меня нет удобного фрагмента кода для этого, но технически он будет работать следующим образом:

var formatting = Dictionary<string, Style>();
foreach(Paragraph para in doc.Paragraphs)
{
formatting.Add(para.Range.Text, (Style) para.getStyle());
}

Затем внутри элемента управления RichTextbox вы должны найти метод применения стиля

foreach(var fItem in formatting)
{
ApplyStyle(richTextBox, fItem.Key, fItem.Value);
}

void ApplyStyle(RichTextBox tb, string toFormat, Style style)
{
//Find the text matching toFormat
//Apply style properties to the text
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...