|
C++Builder 6.0을 사용하구요
Form의 Image를 GetFormImage(); 함수를 통해 아래와 같이 Print하고있습니다.
그런데 여러Page 프린트할때...(총 8Page)
어떤Page는 인쇄가 안되는 경우가 발생합니다.
이는 프린터기 마다 다르게 나타납니다.
PC에 설치된
1) FinePrint에서는 Random하게 1,2Page가 인쇄안되고
2) Samsung프린터에서는 한페이지 건너 하나씩 인쇄가 되지않고 있습니다.
원인이 뭔지 궁금합니다.
프린터의 바깥쪽에 Magrin하고 관련된 것인지...?
[꼼수] 여러Page 인쇄할때
NewPage하지않고
BeginDoc() , EndDoc()를 반복해서 Print하면 빈Page로 인쇄되는것은 없어지기는 합니다.
//-------------------------------------------------------------------
void __fastcall ReportPrint()
{
TPrinter *Ptr = Printer();
//------ 폼 이미지를 저장하기 위한 비트맵 공간을 확보
Graphics::TBitmap *frmImage = new Graphics::TBitmap();
try
{
//------ 폼 이미지를 저장
// 프린트 처리부
Ptr->Title = "QH-CURVE Analysis Report"; // 인쇄 관리자에 인쇄 제목이 나오도록..
Ptr->BeginDoc();
for(int p=0;;)
{
if(RPT_FORM[p]==NULL)continue;
frmImage = RPT_FORM[p]->GetFormImage(); //get form image
Ptr->Canvas->StretchDraw(Rect(0,0,Ptr->PageWidth,Ptr->PageHeight),frmImage);
p++;
if(p<PAGE_COUNT)
{
Ptr->NewPage();
}
else break;
}
Ptr->EndDoc();
}
__finally
{
delete frmImage;
}
}
|