Code Samples - Neevia docCreator

Example 3: Convert a MS Excel document into PDF - ASP.NET

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 Excel.
To do this:
        a. On the Project menu, click Add Reference;
        b. On the COM tab, locate Microsoft Excel and then click Select;
        c. Click OK in the Add References dialog box to accept your selections.

3) Configure MS Excel like recommended below:
  • type dcomcnfg in the command prompt and press Enter;
  • find and select Microsoft Excel Application in the Applications list, then press the Properties button;
  • Note: If you have Windows 2003\2008 then type dcomcnfg in the command prompt, expand the Component Services group, expand the Computers group, expand the My Computer group, expand the DCOM Config group, find and select the Microsoft Excel Application->right mouse click->Properties.
  • click the Identity tab. Check the "This user" checkbox, press Browse and specify the Administrator account;
  • enter and re-enter the Administrator password;
  • click the Security tab. Check the "Use custom access permissions" checkbox, press Edit and add the ASPNET, IUSR_ and IWAM_ user accounts;
  • Note: If you have Windows 2003\2008 also add the "NETWORK SERVICE" user account;
  • check the "Use custom launch permissions" checkbox, press Edit and add the ASPNET, IUSR_ and IWAM_ user accounts;
  • Note: If you have Windows 2003\2008 also add the "NETWORK SERVICE" user account;
  • reboot the computer;
Visual Basic Copy 
 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
   <SCRIPT runat="server" language="VB">

     Sub Page_Load(Source As Object, e As EventArgs)

      Dim docToConvert As String = "c:\users\public\test.xls"

      Dim DC As New Neevia.docCreator

      Dim tempFile As String = DC.getParameter("TempDir") & DC.GUID & ".ps"

      DC.setParameter("DocumentOutputFormat", "PDF")
      DC.setParameter("DocumentOutputName", "testXLS_VBNET")
      DC.setParameter("DocumentOutputFolder", "c:\users\public\")

      Dim MSExcel As Object = Server.CreateObject("Excel.Application")
      MSExcel.DisplayAlerts = False

      Dim XLDoc As Object : XLDoc = MSExcel.Workbooks.Open(docToConvert, 0, True)

      XLDoc.Activate()
      XLDoc.PrintOut(, , , False, "Neevia docCreator", True, 0, tempFile)
      XLDoc.Saved = True
      XLDoc.Close()
      MSExcel.Quit()
      MSExcel = Nothing

      DC.setInputDocument(tempFile)

      Dim RVal As Integer = DC.create ' Create output document
      DC.fileDelete(tempFile)

      DC = Nothing

      If (RVal <> 0) Then 
        Response.Write("Error while creating document!!!")
      Else
        Response.Write("Done Converting !!!")
      End If

    End Sub

   </SCRIPT>

C# Copy 
 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
   <SCRIPT runat="server" language="C#">

     void Page_Load(object Source, EventArgs e)
     {

      string fileToConvert = @"c:\users\public\test.xls";
      Neevia.docCreator DC = new Neevia.docCreator();

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

      // If you have Excel 2000 or XP remove the next 2 lines
      Microsoft.Office.Interop.Excel.Application MSExcel =
      new Microsoft.Office.Interop.Excel.Application();
      Microsoft.Office.Interop.Excel._Workbook XLBook;

      // If you have Excel 2000 or XP uncomment the lines below
      // Excel.Application MSExcel = new Excel.Application();
      // Excel._Workbook XLBook;

      MSExcel.DisplayAlerts = false;

      try
      {
         // This line will work only with MS Excel XP / 2003
         XLBook = MSExcel.Workbooks.Open(fileToConvert, 0, true, 5, "", "",
                    true, 2, "", false, false, false, false, 1, false);

         // for MS Excel 2000 use the line below
         // XLBook = MSExcel.Workbooks.Open(fileToConvert, 0, true, 5, "", "",
         //  true, 2, "", false, false, false, false);

      }
      catch
      {
         MSExcel.Quit();
         return;
      }

      string tempFile = DC.getParameter("TempDir") + DC.GUID() + ".ps";

      XLBook.Activate();
      XLBook.PrintOut(1, 9999, 1, false, "Neevia docCreator", true, 0, tempFile);

      XLBook.Saved = true;
      XLBook.Close(false, "", false);
      MSExcel.Quit();
      MSExcel = null;

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

      int RVal = DC.create(); // Create output document
      DC.fileDelete(tempFile);
      DC = null;

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

   </SCRIPT>