打印发票时,怎样让打印机打印完一张后,自动走纸到第二张,准备打印下一张我在打印发票是打印完一张后,打印机就自动不停的走纸,我在程序中
printer.begindoc;
......printer.enddoc;
printer.newpage;提示 printer is not currently printing
如果用
printer.begindoc;
......printer.newpage;
printer.enddoc;
也不行,问题还在,我该怎么解决

解决方案 »

  1.   

    对记录
    TDeviceMode进行操作就是对打印机进行样式控制..
    具体的你找一下帮助文件..
      

  2.   


    procedure setprint(pagesize:tpagesize;width,height:variant;Orientation:tprinterOrientation);
    var
      Device: array[0..255] of char;
      Driver: array[0..255] of char;
      Port: array[0..255] of char;
      hDMode: THandle;
      PDMode: PDEVMODE;
    begin
    //设置打印机
      try
      Printer.PrinterIndex := Printer.PrinterIndex;
      Printer.GetPrinter(Device, Driver, Port, hDMode);
      if hDMode <> 0 then
      begin
        pDMode := GlobalLock(hDMode);
        if pDMode <> nil then
        begin
          if pagesize=Custom then
          begin
            //设定自定义纸张
            pDMode^.dmFields := pDMode^.dmFields or
              dm_PaperSize or
              DM_PAPERWIDTH or
              DM_PAPERLENGTH;        pDMode^.dmPaperSize := 0;
            pDMode^.DMPAPERWIDTH:= width*10 ;
            pDMode^.DMPAPERLENGTH:=height*10;
          end
          else
          begin
            //设定纸张类型
            pDMode^.dmFields := pDMode^.dmFields or
              DM_PAPERSIZE  ;
           if pagesize=A3 then pDMode^.dmPaperSize := DMPAPER_A3;
           if pagesize=A4 then pDMode^.dmPaperSize := DMPAPER_A4;
           if pagesize=A5 then pDMode^.dmPaperSize := DMPAPER_A5;
           if pagesize=B4 then pDMode^.dmPaperSize := DMPAPER_B4;
           if pagesize=B5 then pDMode^.dmPaperSize := DMPAPER_B5;
           if pagesize=CSheet then pDMode^.dmPaperSize := DMPAPER_CSheet;
           if pagesize=Executive then pDMode^.dmPaperSize := DMPAPER_Executive;
           if pagesize=Letter then  pDMode^.dmPaperSize:= DMPAPER_Letter;
          end;
          printer.Orientation:=Orientation;
          GlobalUnlock(hDMode);
        end;
      end ;
      Printer.PrinterIndex := Printer.PrinterIndex;
      except
        showmessage('没有默认选择打印机,或默认打印机不可使!');
        exit;
      end;
     end;