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,029 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Sending receiving text messages in vb.net 15 63
How to seperate number and letters from a string 3 26
Very Large data in MYSQL 7 94
Stop Git from being my repository 1 26
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

726 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