Printing Reports at various resolutions

My program prints a basic report that is mostly text and some images.

I am using TurboReport but this is not necessarily a question about that…

I have it looking great when I print it… but a customer says that when they print it the print is huge
and goes off the page. I think they must have a 600dpi printer and maybe that is the problem.

Additional details:

  • because I was new to RB I started off with a basic report sample at 72dpi, but have since doubled that to 144dpi
  • my printer prints at 300dpi max
  • I read posts about getting the printer resolution but that it didn’t work in many cases???

Should I be getting the max printer resolution, setting my report resolution to that, and then have scale factors
that make adjustments?

So 1). I would like to understand the high level strategy of what I “should” be doing
and 2). get into the nitty gritty of how to do that as reliably as possible… as nagging printer problems
are a support nightmare

Thanks in advance.

If you produce the report at 72DPI and they print at 600DPI it will be SMALLER print not larger
if you produce the report assuming 300DPI and they print at 72DPI it will be HUGE

And yes you should get the destination printers max res and scale things accordingly.

Note : when setting res, most printers will adjust to the nearest hosted DPI which may not be what you asked for

THere is another topic on here where I gave more details… but I don’t have the time to find it at the moment

The offending printers are 600dpi. I set the report in my code to be 144dpi but when the client prints it out on a 600dpi printer the print is huge.
On 300dpi it is just fine. So it seems like the opposite of what you are saying…

You cannot set the printer to just any random setting… it has to be one it supports…
So I am betting that you are setting 144dpi, the printer does not support that, so it finds the closest one (rounding down) that it does support, and oh yeah that turns out to be 72dpi , but all of your printing math is based on 144… so it all comes out 2x the size you want.

Why not just the MAX values to -1, then query the RES propertys to find out what it is actually using, that way it will work on ANY printer, any where