Link to home
Start Free TrialLog in
Avatar of jeff411
jeff411

asked on

IndexOutOfRangeException when using PrintToPrinter in vb.net 2003 and a custom paper size with Crystal Reports v10

In VB.NET I'm trying to print a crystal report directly to a printer.   The report it a label with a bar code on it, 8.2cm by .9cm and I'm printing it to a zebra 105SL label printer.

This worked fine with the version of crystal reports that came with VS.NET 2003 ( v9 ) but when we upgraded to Crystal Reports v10 it no longer can print and I get an exception.  

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at CrystalDecisions.CrystalReports.Engine.Migration.PrintOptionsConverter.EROMPaperSizeToDNETPaperSize(CrPaperSizeEnum ePaperSize)
   at CrystalDecisions.CrystalReports.Engine.PrintOptions.get_PaperSize()
   at CrystalDecisions.CrystalReports.Engine.PrintOptions.CopyTo(PrinterSettings printer, PageSettings page)
   at CrystalDecisions.CrystalReports.Engine.FormatEngine.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN)
   at frmMainScreen.ibutHelp_Click() in C:\@Dev\RMA\Forms\MainScreen.vb:line 1497

What index is it talking about?   If I modify the report to be letter size and print it on a regular printer it prints fine.     I think the problem probably has something to do with the papersize not being standard and something they may have changed in Crystal Reports v10.

I tried to export the report to a pdf instead of printing using -> fReport.ExportToDisk(ExportFormatType.PortableDocFormat, "c:\testItemLabel.pdf")   and it exports perfectly with the correct papersize.

Here's the code I'm using to print:

            Dim cReport As New ItemLabel
            cReport.SetDatabaseLogon("user", "password", "server", "database")
            cReport.SetParameterValue("ItemNumber", "1001-01")
            cReport.PrintOptions.PrinterName = "\\printserver\Zebra"

            cReport.FormatEngine.PrintToPrinter(1, False, 0, 0)

Any help would be greatly appreciated
ASKER CERTIFIED SOLUTION
Avatar of Lacutah
Lacutah
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial