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 !!!"); } } |