Code Samples - Neevia docuPrinter SDK

Example 7: Convert a MS Access report into PDF - C# Copy 

1) Add a reference in your Visual Studio project to docuPrinter library.
To do this:
        a. On the Project menu, click Add Reference;
        b. On the COM tab, locate docuPrinter 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 Access.
To do this:
        a. On the Project menu, click Add Reference;
        b. On the COM tab, locate Microsoft Access 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
   private void button1_Click(object sender, EventArgs e)
   {

      docuprinter.SDK DPSDK = new docuprinter.SDK();

      DPSDK.DocumentOutputFormat = "PDF";
      DPSDK.DocumentOutputName = "demoAccess";
      DPSDK.DocumentOutputFolder = @"c:\users\public\";

      DPSDK.HideSaveAsWindow = true;
      DPSDK.DefaultAction = 1;
      DPSDK.ApplySettings();

      // This works only with Access 2003
      Microsoft.Office.Interop.Access.Application objAccess =
        new Microsoft.Office.Interop.Access.Application();

      // This works only with Access 2000 and XP
      // Access.Application objAccess = new Access.Application();

      string defPrinter = DPSDK.GetDefaultPrinter();

      DPSDK.SetDefaultPrinter("docuPrinter");
      objAccess.OpenCurrentDatabase(@"c:\users\public\access.mdb", true, "");

      object RN = System.Reflection.Missing.Value;

      // The lines below work only with Access 2003
      objAccess.DoCmd.OpenReport("rptCatalog", 0, RN, RN,
       Microsoft.Office.Interop.Access.AcWindowMode.acHidden, RN);
      //rptCtatalog is the repport name
      objAccess.Quit(Microsoft.Office.Interop.Access.AcQuitOption.acQuitSaveNone);

      // The lines below work only with Access 2000 and XP
      // objAccess.DoCmd.OpenReport("rptCatalog", 0, RN, RN,
      // Access.AcWindowMode.acHidden, RN);
      // objAccess.Quit(Access.AcQuitOption.acQuitSaveNone);

      objAccess = null;
          
      int RVal = DPSDK.Create(100); // Create output document
           
      DPSDK.SetDefaultPrinter(defPrinter);

      DPSDK = null;

      if (RVal != 0) {
         MessageBox.Show("Error. Create returns " + RVal);
      } else {
         MessageBox.Show("Done !!!");
      }

   }