Click here to Skip to main content
15,878,748 members
Articles / Programming Languages / C#
Article

How to convert DOC into other formats using C#

Rate me:
Please Sign up or sign in to vote.
3.24/5 (30 votes)
22 Oct 20031 min read 224.9K   50   41
This article explains how to convert DOC into other formats using C#.

Introduction

This article will only show you how to use the COM object library in C#, so you can easily convert a DOC file into different formats that are supported by Microsoft Word. This could be accomplished by using the Microsoft Word 10.0 Object library. You can add this library by using the menu bar of .NET IDE, that is ProjectAdd Reference…- COM, here you can add the reference to the Microsoft Word 10.0 Object library for your code & it is necessary for the conversion. By adding this library as a reference in your project, you can now use the Word namespace which will allow you to do all the stuff. So it is necessary to add this reference into your project.

Conversion code

The following code shows how to convert DOC to RTF. You can convert to any format which is supported by MS Word by only changing the type of Target file.

C#
using System; 

namespace DocConvert 

{ 
      class DoctoRtf 
      { 
            static void Main() 
            { 

                //Creating the instance of Word Application
                Word.Application newApp = new Word.Application(); 

                // specifying the Source & Target file names
                object Source="c:\\abc\\Source.doc";
                object Target="c:\\abc\\Target.rtf";

                // Use for the parameter whose type are not known or  
                // say Missing
                object Unknown =Type.Missing;

                // Source document open here
                // Additional Parameters are not known so that are  
                // set as a missing type
                newApp.Documents.Open(ref Source,ref Unknown, 
                     ref Unknown,ref Unknown,ref Unknown, 
                     ref Unknown,ref Unknown,ref Unknown, 
                     ref Unknown,ref Unknown,ref Unknown, 
                     ref Unknown,ref Unknown,ref Unknown,ref Unknown);

        // Specifying the format in which you want the output file 
                object format = Word.WdSaveFormat.wdFormatRTF;

        //Changing the format of the document
                newApp.ActiveDocument.SaveAs(ref Target,ref format, 
                        ref Unknown,ref Unknown,ref Unknown, 
                        ref Unknown,ref Unknown,ref Unknown, 
                        ref Unknown,ref Unknown,ref Unknown, 
                        ref Unknown,ref Unknown,ref Unknown, 
                        ref Unknown,ref Unknown);                    

                // for closing the application
                newApp.Quit(ref Unknown,ref Unknown,ref Unknown);

            } 
      } 
}

What the code does

If you want to convert the particular file, then you have to first open that file. You can do this by using the Documents class in the Word namespace & then call the Open method which has a number of parameters, out of which source filename is important. Others you can say as missing. Then use the ActiveDocument’s SaveAs to save the file in a target format and lastly close all the documents by using Quit.

Reminders

Make sure that you include the reference to Microsoft Word 10.0 object library in your code; otherwise the compiler will flag error for the Word namespace.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Engineer
India India
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionHow to convert pdf file to excel file using c# windows form application Pin
Honnika N Suresh13-Dec-18 23:04
Honnika N Suresh13-Dec-18 23:04 
QuestionConvert Word Doc to PDF using Microsoft.Interop takes long time to conver large size files(ex 30MB) Pin
bhushanjat24-Apr-15 3:27
bhushanjat24-Apr-15 3:27 
Questioncant save as PDF format Pin
hugojim30-Apr-13 13:42
hugojim30-Apr-13 13:42 
QuestionRegarding the conversion of .docx to HTML Pin
Lucky Ahuja30-Oct-12 20:10
Lucky Ahuja30-Oct-12 20:10 
Questionhow to convert c++ file into c# Pin
Jitendra Ballia16-Jun-12 6:07
Jitendra Ballia16-Jun-12 6:07 
Questioncode in c# to convert word into .pdf format By Gurpreet Singh Pin
Gurpreet_Singh_003626-Sep-11 23:36
Gurpreet_Singh_003626-Sep-11 23:36 
GeneralVery helpfull Pin
Lokanta_b1-Mar-11 5:00
Lokanta_b1-Mar-11 5:00 
GeneralMy vote of 1 Pin
waqassarwar4210-Nov-10 19:01
waqassarwar4210-Nov-10 19:01 
GeneralMy vote of 1 Pin
rajesh11423-Nov-10 4:37
rajesh11423-Nov-10 4:37 
GeneralFileInfo class object Pin
Devaang1111-Aug-09 18:40
Devaang1111-Aug-09 18:40 
GeneralRe: FileInfo class object Pin
Michael Heydeck6-Jan-10 4:39
Michael Heydeck6-Jan-10 4:39 
GeneralThanks Pin
786hhhhhh20-Oct-08 20:01
786hhhhhh20-Oct-08 20:01 
Generala reference to Microsoft Word 10.0 reference library could not be added. Converting the type library to .net assembly failed Pin
pw_asksam13-Sep-08 15:31
pw_asksam13-Sep-08 15:31 
Generalcant save as PDF format Pin
Md. Golam Rabbani29-Aug-08 0:08
Md. Golam Rabbani29-Aug-08 0:08 
Questionhow to delete "\r" ??` Pin
laukaqc5-Jun-08 17:14
laukaqc5-Jun-08 17:14 
AnswerRe: how to delete "\r" ??` Pin
CainKellye12-Jan-09 6:51
CainKellye12-Jan-09 6:51 
GeneralConvert Word To PDF Pin
ryanjoseph19-May-08 15:03
ryanjoseph19-May-08 15:03 
GeneralRe: Convert Word To PDF Pin
Anubhava Dimri5-Oct-09 19:25
Anubhava Dimri5-Oct-09 19:25 
Generalask !! HELP Pin
TukangNanya9-Dec-07 23:30
sussTukangNanya9-Dec-07 23:30 
GeneralNot able to convert into PDF Pin
Ujjwalk25-Nov-07 1:50
Ujjwalk25-Nov-07 1:50 
Generalconvert a particular page of doc file into PDF Pin
Abhinav Shrimali31-Oct-07 3:41
Abhinav Shrimali31-Oct-07 3:41 
Questionis it possible to use MS word 9.0 object library? Pin
Renukapadhamanaban11-Oct-07 16:10
Renukapadhamanaban11-Oct-07 16:10 
GeneralCan't we converted the file without actually opening word. Pin
Zeeshan Reyaz4-Jun-07 3:24
Zeeshan Reyaz4-Jun-07 3:24 
GeneralRe: Can't we converted the file without actually opening word. Pin
Member 408137523-Mar-08 3:19
Member 408137523-Mar-08 3:19 
Hi dear
Plz any idea about how to convert doc or html into txt in c#
best regards'
Questionhow to convert a doc file into bmp file?????????? Pin
janeeta28-Mar-07 21:44
janeeta28-Mar-07 21:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.