多行打印时,使用begin doc和enddoc以后,如何控制行间距(微型卷纸打印机)(150分)

  • 主题发起人 主题发起人 ditdot
  • 开始时间 开始时间
D

ditdot

Unregistered / Unconfirmed
GUEST, unregistred user!
使用的是微型卷纸打印机,类似商场的POS机(使用很长的卷纸),使用以下代码打印时每行之间的距离很大,而且我调整了PointY*后面的倍数,但不见效果。
奇怪的是我用一般的喷墨打印机,用A4纸打印,就没有任何异常,
我错在哪了?
别告诉我是打印机的设置问题,我试了打印测试页,测试页一行一行很正常的。
我这里必须是多行打印,代码如下:
PointX:=GetDeviceCaps(Printer.Handle, HORZSIZE)/2.54;
PointY:=GetDeviceCaps(Printer.Handle, VERTSIZE)/2.54;
with printerdo
begin
begin
doc;
canvas.Font.name:='黑体';
canvas.font.Size:=18;
canvas.TextOut(Trunc(PointX*2),Trunc(PointY),'凭单');
canvas.Font.Size:=8;
canvas.TextOut(Trunc(PointX*0.5),Trunc(PointY*2),'***************');
canvas.Font.Size:=14;
canvas.TextOut(Trunc(PointX),Trunc(PointY*2.5),'名称:'+usname);
canvas.TextOut(Trunc(PointX),Trunc(PointY*4.5),'库号为:'+counter);
canvas.Font.Size:=8;
canvas.TextOut(Trunc(PointX*0.5),Trunc(PointY*6.5),'************');
canvas.Font.Size:=12;
canvas.TextOut(Trunc(PointX),Trunc(PointY*7),'****公司');
enddoc;
end;
 
很有可能不能控制
 
按 A4 的规格画,
当打印时按设置打印规格缩小,
呵呵~~~~~~~~~`
 
用写lpt口吧!
 
问题已经解决
 
请问各位,如果是在存折打印机上打印,打第一次时打印机会进纸,需要再次打印时,则需先关掉打印机再开才正常,这是为什么啊?
 
后退
顶部