Solved

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

Posted on 2004-10-15
3
1,022 Views
Last Modified: 2011-09-20
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
Comment
Question by:jeff411
3 Comments
 
LVL 9

Accepted Solution

by:
Lacutah earned 500 total points
ID: 12324945
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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question