C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[56201] Re:프린트 출력 관련 문의 입니다.
박지훈.임프 [cbuilder] 2675 읽음    2009-02-18 23:50
저는 레포트 작업을 많이 해보진 않았지만, 퀵레포트의 버그는 유명합니다.
특히 프린터 기종에 따라 되기도 안되기도 하는 버그가 심각하죠.

텍스트 데이터가 아닌 이미지만을 인쇄하시려는 모양인데, 그런 경우라면 레포트 종류가 아니라 TPrinter 객체를 이용해서 직접 프린터를 출력하는 게 훨씬 낫습니다. 복잡한 데이터를 포맷에 맞춰서 출력하려면 TPrinter 사용이 꽤 까다롭지만, 이미지들만을 적절히 레이아웃하는 정도라면 TPrinter에서도 그렇게 복잡하지 않게 할 수 있습니다.

특히 퀵레포트의 경우 C++빌더 2005 이상에서는 더 이상 기본 포함되어 있지 않기 때문에(2006과 2007 버전에서는 별도 다운로드가 가능하기는 합니다) 향후 소스코드의 호환성을 위해서라도 다른 방법을 강구하시는 것을 권합니다.

데이터 포맷 출력이 필요하든지 해서 굳이 레포트를 사용하시려면 기능이 더 강력하고 버그도 적은 RaveReport나 FastReprt가 낫습니다. RaveReport는 C++빌더 6 이후 버전에서 퀵레포트를 대체하는 기본 레포트 컴포넌트이고, FastReport는 별도 구입이 필요한 서드파티 컴포넌트입니다만 기능 면에서는 퀵레포트는 물론 Rave 레포트보다도 훨씬 뛰어납니다. 또한 완전히 자동화는 아니지만 퀵레포트로 디자인된 폼을 FastReport로 불러오는 기능도 지원합니다.

그럼..


구윤태 님이 쓰신 글 :
: C++builder 6.0 사용합니다.
: TQuickRep  사용했습니다.
:  TQRImage 사용하여 이미지를 넣어 줬습니다.
:
:
: 우선 제가 삼성 , 캐논 레이저 , FinePrint 상으로 테스트 했을 때 정상이 었습니다.
: (출력및 미리보기 기능 둘다 정상)
:
: HP Dekjet D1560 을 사용해서 프린터 하니까
: FinePrint및  미리보기로 하면 정상적으로 프린트 내용물이 나오는데
: 출력을 하면  프린트 내용 하단 이미지가   중간 좌측에 일부가 프린트 되어 나옵니다.
:
: 첨부한 파일중에 : 1.JPG  정상 (삼성 MJ8700 , 케논 레이저 , 미리보기 , finePrint)
:                            2.JPG 실제 프린트 되어 나오는 방식 (HP D1560 )
:
:
: 프린트 출력 함수
: void __fastcall TCMQPrintForm::printSheet1()
: {
:     try
:     {
:        Sheet1->QuickRep1->Prepare();
:        Sheet1->QuickRep1->Printer->Title = "CMQ Dr Report1";
:        Sheet1->QuickRep1->Printer->Save("Results.QRP");
:        Sheet1->QuickRep1->Printer->Load("Results.QRP");
:
:
:        if(!mPName.IsEmpty())
:        {
:          if(!DirectoryExists("C:\\JPG"))
:          {
:                 if(CreateDir("C:\\JPG")) WriteToBmpFile1("C:\\JPG\\" + mPName);
:          }
:          else WriteToBmpFile1("C:\\JPG\\" + mPName);
:         }
:
:         //Sheet1->QuickRep1->Printer->PreviewModal();
:         Sheet1->QuickRep1->Printer->Print();
:         Sheet1->QuickRep1->Printer->Free();
:         Sheet1->QuickRep1->Free();
:     }
:     catch(...)
:     {
:             ShowMessage("Print Page 1   Error !");
:     }
:
: }
:
:
: 원인을 모르겠습니다.
: 답변을 부탁드립니다.

+ -

관련 글 리스트
56200 프린트 출력 관련 문의 입니다. 구윤태 1546 2009/02/18
56201     Re:프린트 출력 관련 문의 입니다. 박지훈.임프 2675 2009/02/18
56204         답변감사합니다. 구윤태 1601 2009/02/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.