Code Samples - Neevia docCreator

Example 2: Convert a MS Word document into PDF - C# Copy 

1) Add a reference in your Visual Studio project to docCreator library.
To do this:
        a. On the Project menu, click Add Reference;
        b. On the COM tab, locate docCreator Library and then click Select;
        c. Click OK in the Add References dialog box to accept your selections.

2) Add a reference in your Visual Studio project to Microsoft Word.
To do this:
        a. On the Project menu, click Add Reference;
        b. On the COM tab, locate Microsoft Word and then click Select;
        c. Click OK in the Add References dialog box to accept your selections.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
   object fileToConvert = @"c:\users\public\test.doc";

   Neevia.docCreator DC = new Neevia.docCreator();

   DC.setParameter("DocumentOutputFormat", "PDF");
   DC.setParameter("DocumentOutputName", "testDOC_CSHARP");
   DC.setParameter("DocumentOutputFolder", @"c:\users\public\");
   DC.setParameter("PDFAutoRotatePage", "All");

   // This will work only with MS Office 2003+
   Microsoft.Office.Interop.Word._Application MSWord =
    new Microsoft.Office.Interop.Word.Application();
   Microsoft.Office.Interop.Word._Document wordDoc;
   MSWord.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;

   // This will work only with MS Office 2000 or XP
   // Word._Application MSWord = new Word.Application();
   // Word._Document wordDoc;
   // MSWord.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone;

   object RN = System.Reflection.Missing.Value;
   object refTrue = true; object refFalse = false;

   try
   {

     // This will work only with MS Word 2003+
     wordDoc = MSWord.Documents.Open(ref fileToConvert,
                 ref refFalse, ref refTrue,
                 ref RN, ref RN, ref RN, ref RN, ref RN, ref RN,
                 ref RN, ref RN, ref RN, ref RN, ref RN, ref RN, ref RN);

     // This will work only with MS Word XP
     // wordDoc = MSWord.Documents.Open(ref fileToConvert, 
     // ref refFalse, ref refTrue,
     // ref RN, ref RN, ref RN, ref RN, ref RN, ref RN,
     // ref RN, ref RN, ref RN, ref RN, ref RN, ref RN);

     // This will work only with MS Word 2000
     // wordDoc = MSWord.Documents.Open(ref fileToConvert, 
     // ref refFalse, ref refTrue,
     // ref RN, ref RN, ref RN, ref RN, ref RN, ref RN,
     // ref RN, ref RN, ref RN);

   } catch
     {
        MSWord.Quit(ref refFalse, ref RN, ref refFalse);
        MSWord = null;
        return;
     }

   object refStr = DC.getParameter("TempDir") + DC.GUID() + ".ps";
   object refRange = 0; object refFrom = 1; object refTo = 999;
   MSWord.ActivePrinter = "Neevia docCreator";

   wordDoc.PrintOutOld(ref refFalse, ref refFalse, ref refRange, ref refStr,
                       ref RN, ref RN, ref RN, ref RN, ref RN, ref RN, ref refFalse, ref RN,
                       ref RN, ref RN);

   wordDoc.Close(ref refFalse, ref RN, ref refFalse);

   MSWord.Quit(ref refFalse, ref RN, ref refFalse);
   MSWord = null;

   DC.setParameter("DocumentResolution", "300");

   DC.setInputDocument(refStr.ToString(), "");
   int RVal = DC.create(); // Create output document
   DC = null;

   if (RVal != 0)
   {
     MessageBox.Show("Error while creating document!!!");
   }
   else
   {
     MessageBox.Show("Done converting !!!");
   }