...LOGPIXELSY);
PrnPixelsX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
Now before you draw the graphic onto the printer's canvas, use the PrnPixels* variables to create a rectangle on the printer's canvas, hard-coding either the width or the height of the image to fit the printed output...