Q&A

  • 출력이 프린터마다 달라요!도와주세요.
안녕하세요.

출력에 대해서 질문을 드리겠습니다.

저희 회사에서는 LG-1570H, LG-570HD 프린터를 사용하구 있습니다.

델파이로 거래명세서 출력을 할려구 합니다.

처음에는 LG-1570H 프린터를 기본 프린터로 연결해서 TPrinter 메소드를

이용해서 출력을 했습니다.

Writeln('');형식으로 찍었습니다.제가 고수가 아니라서..

그래서 완료를 했습니다.

그런데 이 프로그램을 LG-570HD 이 연결된 PC에서 출력하니까..

칸이 3칸정도 밑에서 찍히는 것입니다. 이게 문제죠.!!!

그래서 TPrinter 함수가 아니라 퀵레포트로 test를 해보았지만 같은 결과 였습니다.

프린터를 자세히 보니까 LG-570HD 시작점이 LG-1570HD보다 한 2센티미터 밑에 있어서 그런거 같다는 생각을 했습니다. 제 생각이 틀릴수도 있는데.. 고수님들의 생각은

어떤지 궁금합니다...

그리고 LG-570HD와 LG-1570HD 프린터 시작점을 같이 할 수 없는지 궁금합니다.?

현재는 이 프린터용 프로그램 하나 저 프린터용 프로그램으로 응급히 써야 할 것

같습니다.

강의실에 이정욱님이 올리신 강좌를 보았는데.... 제가 내공이 딸려서

제대로 이해가 안가는 것 같습니다.....

저는 아래와 같은 소스를 이용해서 하구 있습니다.

VAR : MYFILE :TEXTFILES

AssignPrn(MyFile);

printer.canvas.font.Name := '굴림체';

printer.Canvas.font.size := 12;

Rewrite(MyFile);

Writeln(MyFile,'');

System.closefile(myfile);



2  COMMENTS
  • Profile
    SerVing 2000.12.04 01:17
    일단 모든 프린터의 시작점을 똑같이 만드는건 어려울 겁니다.

    저도 시도해 봤습죠...

    프린터 여백 구하기 함수 사용등....

    하지만, 여백값은 0로 리턴하지만, 실제론 여백이 있는

    프린터를 발견하고 말았습니다....



    제 생각에는 Canvas에 있는 TextOut이나,

    TextRect를 이용하는게 좋을것 같습니다...





    임병우 wrote:

    > 안녕하세요.

    > 출력에 대해서 질문을 드리겠습니다.

    > 저희 회사에서는 LG-1570H, LG-570HD 프린터를 사용하구 있습니다.

    > 델파이로 거래명세서 출력을 할려구 합니다.

    > 처음에는 LG-1570H 프린터를 기본 프린터로 연결해서 TPrinter 메소드를

    > 이용해서 출력을 했습니다.

    > Writeln('');형식으로 찍었습니다.제가 고수가 아니라서..

    > 그래서 완료를 했습니다.

    > 그런데 이 프로그램을 LG-570HD 이 연결된 PC에서 출력하니까..

    > 칸이 3칸정도 밑에서 찍히는 것입니다. 이게 문제죠.!!!

    > 그래서 TPrinter 함수가 아니라 퀵레포트로 test를 해보았지만 같은 결과 였습니다.

    > 프린터를 자세히 보니까 LG-570HD 시작점이 LG-1570HD보다 한 2센티미터 밑에 있어서 그런거 같다는 생각을 했습니다. 제 생각이 틀릴수도 있는데.. 고수님들의 생각은

    > 어떤지 궁금합니다...

    > 그리고 LG-570HD와 LG-1570HD 프린터 시작점을 같이 할 수 없는지 궁금합니다.?

    > 현재는 이 프린터용 프로그램 하나 저 프린터용 프로그램으로 응급히 써야 할 것

    > 같습니다.

    > 강의실에 이정욱님이 올리신 강좌를 보았는데.... 제가 내공이 딸려서

    > 제대로 이해가 안가는 것 같습니다.....

    > 저는 아래와 같은 소스를 이용해서 하구 있습니다.

    > VAR : MYFILE :TEXTFILES

    > AssignPrn(MyFile);

    > printer.canvas.font.Name := '굴림체';

    > printer.Canvas.font.size := 12;

    > Rewrite(MyFile);

    > Writeln(MyFile,'');

    > System.closefile(myfile);

    >

  • Profile
    박종혁 2000.12.07 23:57
    안녕하세요....

    제가 보기에는 LPI가 맞지 않아서 그런서 같습니다.

    프린터 매뉴얼을 구하신 다음....

    ESC + 어쩌구 + 저쩌구 하는 제어 코드가 있습니다.

    예전 도스 프로그램 경우 돗뜨 프린터의 경우 레포트를 찍을 경우

    이 LPI나 CPI값을 강제로 할 당하고 작업후 이전으로 돌려주는 로직으로 구성해야 했습니다.

    아마도 그런거 같은데....



    SerVing wrote:

    > 일단 모든 프린터의 시작점을 똑같이 만드는건 어려울 겁니다.

    > 저도 시도해 봤습죠...

    > 프린터 여백 구하기 함수 사용등....

    > 하지만, 여백값은 0로 리턴하지만, 실제론 여백이 있는

    > 프린터를 발견하고 말았습니다....

    >

    > 제 생각에는 Canvas에 있는 TextOut이나,

    > TextRect를 이용하는게 좋을것 같습니다...

    >

    >

    > 임병우 wrote:

    > > 안녕하세요.

    > > 출력에 대해서 질문을 드리겠습니다.

    > > 저희 회사에서는 LG-1570H, LG-570HD 프린터를 사용하구 있습니다.

    > > 델파이로 거래명세서 출력을 할려구 합니다.

    > > 처음에는 LG-1570H 프린터를 기본 프린터로 연결해서 TPrinter 메소드를

    > > 이용해서 출력을 했습니다.

    > > Writeln('');형식으로 찍었습니다.제가 고수가 아니라서..

    > > 그래서 완료를 했습니다.

    > > 그런데 이 프로그램을 LG-570HD 이 연결된 PC에서 출력하니까..

    > > 칸이 3칸정도 밑에서 찍히는 것입니다. 이게 문제죠.!!!

    > > 그래서 TPrinter 함수가 아니라 퀵레포트로 test를 해보았지만 같은 결과 였습니다.

    > > 프린터를 자세히 보니까 LG-570HD 시작점이 LG-1570HD보다 한 2센티미터 밑에 있어서 그런거 같다는 생각을 했습니다. 제 생각이 틀릴수도 있는데.. 고수님들의 생각은

    > > 어떤지 궁금합니다...

    > > 그리고 LG-570HD와 LG-1570HD 프린터 시작점을 같이 할 수 없는지 궁금합니다.?

    > > 현재는 이 프린터용 프로그램 하나 저 프린터용 프로그램으로 응급히 써야 할 것

    > > 같습니다.

    > > 강의실에 이정욱님이 올리신 강좌를 보았는데.... 제가 내공이 딸려서

    > > 제대로 이해가 안가는 것 같습니다.....

    > > 저는 아래와 같은 소스를 이용해서 하구 있습니다.

    > > VAR : MYFILE :TEXTFILES

    > > AssignPrn(MyFile);

    > > printer.canvas.font.Name := '굴림체';

    > > printer.Canvas.font.size := 12;

    > > Rewrite(MyFile);

    > > Writeln(MyFile,'');

    > > System.closefile(myfile);

    > >