delphi中如何控制打印机走纸?
我在自定义一纸张后,打印机总是非得走完A4纸的距离后才停下来,为何,

解决方案 »

  1.   

    var  hDMode: THandle;
      PDMode: PDEVMODE;  Printer.GetPrinter(Device, Driver, Port, hDMode);  if hDMode <> 0 then
      begin
        pDMode := GlobalLock(hDMode);
        if pDMode <> nil then
        begin
            pDMode^.dmFields := DM_PAPERSIZE or DM_PAPERWIDTH or DM_PAPERLENGTH;
            pDMode^.dmPaperSize := DMPAPER_USER;
            pDMode^.dmPaperWidth := APaperWidth;
            pDMode^.dmPaperLength := APaperHeight;        pDMode^.dmFields:=pDMode^.dmFields or DM_ORIENTATION;
            pDMode^.DMORIENTATION:= Direct;
        end;
      end;
    //打印机设置的纸张大小printer.begindoc; //开始打印
    .....;
    printer.enddoc;  //结束打印这个时候打印机就自动走纸到你设置的纸张大小的下一页你可以根据你要打印的纸张大小在打印机中自动设置
      

  2.   

    to cdsy_go:
    你这种打印只能做将数据一个个按位置写入吧,
    如何画表格的线条呢?