Puede que te resulte mas sencillo trabajar en milimetros que en pixels para diseñar tus facturas. Estas funciones te pasan de milimetros a pixels, midiendo los milimetros desde la esquina superior izquierda del papel. Asi solo tienes que diseñarla con un lapiz sobre una hoja de papel y luego utilizar una regla para medir
Código Delphi
[-]
uses Printers;
function mmToPixelsX(X: Real): Integer;
var
PixelsPerInchX: Integer;
OffsetX: Integer;
begin
PixelsPerInchX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
OffsetX := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
Result:= Round((X / 25.4) * PixelsPerInchX) - OffsetX;
end;
function mmToPixelsY(Y: Real): Integer;
var
PixelsPerInchY: Integer;
OffsetY: Integer;
begin
PixelsPerInchY := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
OffsetY := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);
Result:= Round((Y / 25.4) * PixelsPerInchY) - OffsetY;
end;