Code Samples - Neevia docCreator

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

3) Configure MS PowerPoint like recommended below:
  • type dcomcnfg in the command prompt and press Enter;
  • find and select Microsoft PowerPoint Presentation 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 PowerPoint Presentation->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
43
44
   <SCRIPT runat="server" language="VB">

     Sub Page_Load(Source As Object, e As EventArgs)

      Dim docToConvert As String = "d:\test.ppt"

      Dim DC As Object : DC = Server.CreateObject("Neevia.docCreator")

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

      DC.setParameter("DocumentOutputFormat", "PDF")
      DC.setParameter("DocumentOutputName", "testPPT_VBNET")
      DC.setParameter("DocumentOutputFolder", "d:\")

      Dim MSPowerPoint As Object
      MSPowerPoint = Server.CreateObject("PowerPoint.Application")

      Dim PPTDoc As Object
      PPTDoc = MSPowerPoint.Presentations.Open(docToConvert, -1, 0, 0)
      PPTDoc.PrintOptions.PrintInBackground = 0
      PPTDoc.PrintOptions.PrintColorType = 1
      PPTDoc.PrintOptions.ActivePrinter = "Neevia docCreator"
      PPTDoc.PrintOut(0, 9999, tempFile, 1, 0)
      PPTDoc.Close()
      MSPowerPoint.Quit()
      MSPowerPoint = Nothing

      DC.setInputDocument(tempFile)

      DC.setParameter("PDFAutoRotatePage", "PageByPage")
      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
   <SCRIPT runat="server" language="C#">

     void Page_Load(object Source, EventArgs e)
     {

      string fileToConvert = @"c:\users\public\test.ppt";

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

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

      // This works only with MS Office 2003
      Microsoft.Office.Interop.PowerPoint.Application MSPowerPoint =
        new Microsoft.Office.Interop.PowerPoint.Application();
      Microsoft.Office.Interop.PowerPoint.Presentation PPTDoc;
      PPTDoc = MSPowerPoint.Presentations.Open(fileToConvert,
                 Microsoft.Office.Core.MsoTriState.msoFalse, 0, 0);

      // This works only with MS Office 2000 and XP
      // PowerPoint._Application MSPowerPoint = new PowerPoint.Application();
      // PowerPoint._Presentation PPTDoc;
      // PPTDoc = MSPowerPoint.Presentations.Open(fileToConvert,0, 0, 0);
                        
      string tempFile = DC.getParameter("TempDir") + DC.GUID() + ".ps";

      PPTDoc.PrintOptions.PrintInBackground = 0;
      PPTDoc.PrintOptions.ActivePrinter = "Neevia docCreator";
      PPTDoc.PrintOut(0, 9999, tempFile, 1, 0);
      PPTDoc.Close();
      MSPowerPoint.Quit();
      MSPowerPoint = null;

      DC.setInputDocument(tempFile, "");

      int RVal = DC.create();
      DC.fileDelete(tempFile);

      DC = null;

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

     }

   </SCRIPT>