Hola q tal....
Solo tendrias q escalar la imagen en el canvas de la impresora
Código Delphi
[-]
...
var
ScaleX, ScaleY, L, W, H: Integer;
R: TRect;
begin
...
with Printer do
begin
ScaleX := GetDeviceCaps(Handle, logPixelsX) div Form1.PixelsPerInch;
ScaleY := GetDeviceCaps(Handle, logPixelsY) div Form1.PixelsPerInch;
H := MyGraphics.Height * ScaleY;
W := MyGraphics.Width * ScaleX;
if Printer.PageWidth < W then
begin
H := MulDiv(H, Printer.PageWidth, W);
W := Printer.PageWidth;
end;
L := (Printer.PageWidth - W) div 2;
R := Rect(L, 0, L + W, 0 + H);
PY := R.Bottom;
Canvas.StretchDraw(R, bmLogo);
end;
Espero y te sirva... nos vemos