Printing issue with HP printers

I have reports from some of my users that they are having printer issues. The common factors are that (a) the reports are recent, (b) the platform is Windows, and © the printers are HP (possibly all-in-one) printers (e.g. HP Deskjet 2050 J510). The issue is that the printed graphics and text is tiny.

I don’t have such a printer or access to one, and the drivers require me to have a physical printer in order to install the driver, so I am unable to reproduce the issue (although in the distant past I recall there were similar issues with HP printer drivers).

What I do is scale my graphics and text based on the Horizontal or Vertical resolution returned by the PrinterSetup object, divided by 72. i.e. if the returned resolution is 300 (dpi) then I scale the font size and graphics by a factor of 300/72 = 4.16.

I suspect that the driver is not returning the correct resolution. I guess I could guestimate the resolution by using other methods.

Anyone else seen this, or have a solution?

Are you SETTING MaxResolution and if so, are you specifing a value, or using -1
I have found that if you set some printers to a value not supported by the printer, they do one of two things.
a) set to 72dpi
b) auto find the closest value to what you requested.

For example, on my printer… if I tell it to use 400dpi… it actually uses 360…

If you are NOT messing with MaxResolution, try setting it to -1 which should by default select the highest the printer supports

I’m not setting MaxResolution. I can try that. Thanks.

Oops, I lied. I do set MaxHorizontalResolution and MaxVerticalResolution to -1, so it’s not that.

I suspect it’s returning 72dpi as the HorizontalResolution, but the full resolution page size.

Whats the solution to fix this? How do I get the actual resolution if we need to scale to fit a page?

Or even set resolution of a page?

I am using TurboReport and you set the resolution in dpi when you create the report.
But then I have to scale some images to fit in the right locations based on that resolution.

If I change code to use the max resolution supported… then how do I get that if the returned value is not always accurate? Or should I just code for 300dpi at this point since just about every printer supports that now???

Unfortunately this printer is no longer sold by HP so I could not find the exact specifications. But more recent models have a resolution in black and white of 600x1200 dpi. If you try to print at 72 dpi on such a device, the output will indeed be pretty tiny.

Now the issue is to find out how to get the resolution actually used by the printer to get a good aspect ratio. The 2050 J510 is sold used for about $50 on Amazon.com. It may be worth it to get one for experimentation, as this kind of printer is commonplace today. The brand new 6100 eprinter which seems like the newest version is only $69 in the HP store…