• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1059
  • Last Modified:

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
0
jeff411
Asked:
jeff411
1 Solution
 
LacutahCommented:
Sorry to say this, more than likely it's an implementation issue with the Zebra / Seagull printer drivers and the information it provides Crystal Reports via com interop.  I had a heck of a time getting things to print correctly to a Zebra printer while previewing always looked fine...  Fortunately, I was doing my own PrintDocument implementation, so using different ( properly supported by the driver) methods resolved the problem...
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now