It is an efficient way through which we can read Microsoft Word Document file (or .docx extension file) by using C#.Net code.

Here I am making a window form application to read text of MS-Word file (Not image) and showing the ms-word text into windows form richtextbox control. Let’s see the brief demonstration of reading text from ms-word file in c#.

Step 1:  To read MS-Word file write the following code on Read Button click event.

/// <summary>
///This method read the document and writes into richtextbox control 
/// </summary>
 
        private voidbtn_Read_Click(objectsender, EventArgse)
        {
            // call the method to read ms-word document
            ReadMsWord();
        }
/// <summary>
        /// Read ms-word file
        /// </summary>
        public voidReadMsWord()
        {  
            // variable to store file path
            string filePath=null;
            // open dialog box to select file
            OpenFileDialog file= new OpenFileDialog();
            // dilog box title name
            file.Title="Word File";
            // set initial directory of computer system
            file.InitialDirectory= "c:\\";
            // set restore directory
            file.RestoreDirectory= true;
 
            // execute if block when dialog result box click ok button
            if (file.ShowDialog() ==DialogResult.OK)
            {
                // store selected file path
                filePath=file.FileName.ToString();          
            }
 
            try
            { 
                // create word application
                Microsoft.Office.Interop.Word.Applicationword=new Microsoft.Office.Interop.Word.ApplicationClass();
                // create object of missing value
                object miss= System.Reflection.Missing.Value;
                // create object of selected file path
                object path=filePath;
                // set file path mode
                object readOnly= false;
                // open document                
                Microsoft.Office.Interop.Word.Document docs=word.Documents.Open(refpath, refmiss, refreadOnly, refmiss, refmiss, refmiss, refmiss, refmiss,refmiss, refmiss, refmiss, refmiss, refmiss, refmiss, refmiss, refmiss);
              // select whole data from active window document
                docs.ActiveWindow.Selection.WholeStory();
                // handover the data to cllipboard
                docs.ActiveWindow.Selection.Copy();
                // clipboard create reference of idataobject interface which transfer the data
                IDataObject data= Clipboard.GetDataObject();
                //set data into richtextbox control in text format
                richTextBox2.Text=data.GetData(DataFormats.Text).ToString();
                // read bitmap image from clipboard with help of iddataobject interface
                Image img= (Image)data.GetData(DataFormats.Bitmap);
                // close the document
                docs.Close(refmiss, refmiss, refmiss);
            }
            catch (Exception ex) { MessageBox.Show(ex.ToString()); }
           
        }

Step 2: After write the above code debug the program and click on Read button

Read Microsoft Word Document File by using C#

When you click on Read button then a file dialog box will be appear for select an ms-word file, after select a file then press Open button.

Read Microsoft Word Document File by using C#

After clicked open button the following output will be appear as follows.

Read Microsoft Word Document File by using C#


  Modified On Nov-24-2017 06:05:04 AM
  1. Hi,
    nice article!
    For ones that are unable to use .NET Word automation, try this C# / VB.NET Word library that doesn't require Word application.
    Here is a sample C# read Word:

    // Load a document.

    DocumentModel document = DocumentModel.Load("Document.docx", DocxLoadOptions.DocxDefault);

    // Iterate over all paragraphs in the document.

    foreach (Paragraph paragraph in document.GetChildElements(true, ElementType.Paragraph))

    {

        // Iterate over all runs in the paragraph and write their text to console.

        foreach (Run run in paragraph.GetChildElements(true, ElementType.Run))

            Console.Write(run.Text);

        Console.WriteLine();

    }

Leave Comment