我用printer写了如下的程序,打印的纸是我自己的打印机里设置的70mm*90mm的票据,可是打印机每次走纸的时候总是要多走一点点,打印几张以后打印机就会偏移半张纸,这样就不是把数据打到对应的位置,请问该怎么办,
function print_sheet(data1:PrintData):boolean;
var
        PointX,PointY:integer
begin
PointX:=getdevicecaps(printer.handle,LOGPIXELSX);
PointY:=getdevicecaps(printer.handle,LOGPIXELSY);
printer.BeginDoc ;
try
    printer.Canvas.Font.Size:=12;
  
    printer.Canvas.TextOut(trunc(0.785*PointX)-tempx,trunc(0.79*PointY)-TempY,data1.truck_num);
Printer.EndDoc ;
    print_sheet:=true;
except
    Printer.Abort;
    print_sheet:=false;
end;
end;