Q&A

  • 영수증 프린트에서 컷팅을 해야해요(다시한번부탁드립니다)
지가요 영수증 프린터에 list 를 출력을 해야하는데요~

마지막에 컷팅을 해야 해요 값은 ESCAPE값 + 'P' + 'O' 예요

print canvas 에서 어떻게 해야 하는지 알고 싶어요.

고수님들의 많은 가르침 부탁드립니다.

자세하고 구체적으로 좀 부탁합니다.--워낙 초보걸랑요....





2  COMMENTS
  • Profile
    parkisu 2000.12.16 08:32
    이영근 wrote:

    > 지가요 영수증 프린터에 list 를 출력을 해야하는데요~

    > 마지막에 컷팅을 해야 해요 값은 ESCAPE값 + 'P' + 'O' 예요

    > print canvas 에서 어떻게 해야 하는지 알고 싶어요.

    > 고수님들의 많은 가르침 부탁드립니다.

    > 자세하고 구체적으로 좀 부탁합니다.--워낙 초보걸랑요....

    >

    >



    다이렉트 출력을 하셔도 되구요.

    네트워크를 지원할 필요가 있는 경우라면 드라이버를 사용하셔도 될 것같군요.

    명령코드로 봐서는 시티즌 계열의 포스프린터인 것 같은데요.

    시티즌 드라이버를 구하셔서 설치하신 다음 프린터의 등록정보의 설정버튼을 누르시고

    모델명을 idp3530을 설정하시면 Printer.EndDoc과 함께 자동커팅이 됩니다.

    참고로 다이렉트 출력시는 커팅위치를 조절하기위해서 약간의 작업이 필요합니다.



    아래는 메모에 있는 내용을 시티즌드라이버를 통해 출력하는 예제입니다.



    uses

    Printers;



    {...}



    procedure PrintMemo(Memo: TMemo; PrinterName:String);

    var

    i,row,rowHeight,lineNum:Integer;

    begin

    if (Memo.Lines.Count=0) or (PrinterName='') then Exit;



    row:=0; //출력된 라인수

    with Printer do begin

    SetPrinter(Pchar(PrinterName), Pchar(''), Pchar(''), 0); //프린터 설정

    rowHeight := Canvas.TextHeight('0'); //한라인의 높이

    lineNum := PageHeight div rowHeight; //한페이지의 라인수

    BeginDoc;

    try

    for i:=0 to Memo.Lines.Count-1 do

    begin

    Canvas.TextOut(0, row, Memo.Lines[i]);

    Inc(row);

    if row=lineNum then

    begin //한페이지를 다 인쇄하면 페이지를 넘긴다.

    row:=0;

    NewPage;

    end;

    end;

    EndDoc; //이 신호와 함께 자동커팅이 된다.(단, 모델명이 idp3530일 때)

    //No-Cutting 프린터의 경우는 5라인이 피드된다.

    except

    Abort;

    ShowMessage('출력도중 에러가 발생했습니다.'+chr(13)+

    '프린터를 점검해 주십시오.' );

    end;

    end;

    end;



    //사용법

    procedure TForm1.btnPrintClick(Sender:TObject);

    begin

    PrintMemo(Memo1, '시티즌프린터');

    end;



    도움이 되시길...



  • Profile
    바람개비 2000.12.15 17:46
    영수증 프린터라면 다이렉트출력을 하는게 편합니다. 제 경험상...



    바라미~~



    이영근 wrote:

    > 지가요 영수증 프린터에 list 를 출력을 해야하는데요~

    > 마지막에 컷팅을 해야 해요 값은 ESCAPE값 + 'P' + 'O' 예요

    > print canvas 에서 어떻게 해야 하는지 알고 싶어요.

    > 고수님들의 많은 가르침 부탁드립니다.

    > 자세하고 구체적으로 좀 부탁합니다.--워낙 초보걸랑요....

    >

    >