比如打印一张30*50mm 的小票,用reportbuilder做出来,一打就是卷个不停.
怎么做可以控制打印机在走到50mm的时候停止呢?
谢谢.
附:刚才看到一个帖子,也是提这个问题.我就再贡献80分.

解决方案 »

  1.   

    我曾写个一只是直接输出到打印机的,纸张不用设置,打完就停的那种!我找回代码再贴上来吧,还过也很简单的,就是用到了assign及write 吧
      

  2.   

    procedure TForm1.ButtonPrintClick(Sender: TObject);
    var
      PText:TextFile;
      i:integer;
    begin
      Printer.Canvas.Font.Charset:=GB2312_CHARSET;
      AssignPRN(PText);
      Rewrite(PText);
      Printer.Canvas.Font.Name:='黑体';
      Printer.Canvas.Font.Size:=10;
      writeln(Ptext,'POS 票据');
      writeln(Ptext,'');
      writeln(Ptext,'品名  单价   数量   小计');
      For i:=1 to ADODataSetPJ.RecordCount do
        writeln(Ptext,ADODataSetPJ.FieldByName('pm').asString+
        ADODataSetPJ.FieldByName('dj').asString+
        ADODataSetPJ.FieldByName('sl').asString+
        ADODataSetPJ.FieldByName('hj').asString);
      writeln(Ptext,'');
      CloseFile(Ptext);
    end;改进一下就可以了