load word file (.docx) in richtextbox

后端 未结 2 1322
無奈伤痛
無奈伤痛 2021-01-24 10:08

I was already able to load a .docx file into my wpf application but it doesn\'t seem to show up in my richtextbox:

if (openFile.ShowDialog() == true)
{
     // O         


        
相关标签:
2条回答
  • 2021-01-24 10:18
     if (openFile.ShowDialog() == true)
            {
                // Open document 
                string originalfilename = System.IO.Path.GetFullPath(openFile.FileName);
    
                if (openFile.CheckFileExists && new[] { ".docx", ".doc", ".txt", ".rtf" }.Contains(Path.GetExtension(originalfilename).ToLower()))
                {
                    Microsoft.Office.Interop.Word.Application wordObject = new Microsoft.Office.Interop.Word.Application();
                    object File = originalfilename;
                    object nullobject = System.Reflection.Missing.Value;
                    Microsoft.Office.Interop.Word.Application wordobject = new Microsoft.Office.Interop.Word.Application();
                    wordobject.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
                    Microsoft.Office.Interop.Word._Document docs = wordObject.Documents.Open(ref File, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject);
                    docs.ActiveWindow.Selection.WholeStory();
                    docs.ActiveWindow.Selection.Copy();
                    rtfMain.Document.Paste();
                    docs.Close(ref nullobject, ref nullobject, ref nullobject);
                    wordobject.Quit(ref nullobject, ref nullobject, ref nullobject);
    
    
                    MessageBox.Show("file loaded");
                }
            } 
    
    0 讨论(0)
  • 2021-01-24 10:36

    That code shouldn't compile, RichTextBox.Document is of type FlowDocument, and you are assigning it to a string.

    Maybe you should look for ways to convert a .docx file to a FlowDocument you can assign to the RichTextBox.

    There is a popular tool you can use which is called: Word to XAML

    Another options are:

    • OpenXML + FlowDocument = OpenFlowDocument?
    • Show Word file in WPF
    0 讨论(0)
提交回复
热议问题