我用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;
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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货