Here was how I did it using vb.net and crystal reports.
1. In the report, create a seperate detail section to hold your second page. Crystal will see it as Details a & b. In section a, set the new page after property. This will cause the second page (details b) to print on a seperate page.
2. Ok. The next step is to programmically tell your printer to print in duplex. Study the code below and modify it to suite your needs.
' Declare an object of your report.
Dim objReportObject As New rptTheDailySavings
'Declare a printoptions object of the objReportObjects print option. Set the settings.
Dim PrintOptions As CrystalDecisions.CrystalReports.Engine.PrintOptions = objReportObject.PrintOptions
PrintOptions.PrinterName = "Your Printer Name Here"
PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation
PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize
PrintOptions.PrinterDuplex = CrystalDecisions.Shared.PrinterDuplex.Default
PrintOptions.PaperSource = CrystalDecisions.Shared.PaperSource.Auto
' Send the report to the printer.
objReportObject.PrintToPrinter(1, False, 1, 2)
Hope this helps.