2012-01-26 9 views
0

DataGridview의 데이터가있는 인쇄 페이지를 만드는 다음 코드가 있습니다.인쇄 된 페이지에 Graphics.Draw를 맞추는 방법은 무엇입니까?

Font print10B = new Font("Lucida Console", 10, FontStyle.Bold); 
Font print8B = new Font("Arial", 9, FontStyle.Regular); 
Font print6B = new Font("Arial", 8, FontStyle.Regular); 

e.Graphics.DrawString(" NOTA DE PLATA",print10B,Brushes.Black,10,10); 
e.Graphics.DrawString("-----------------------------------------", new Font(dataGridView1.Font.FontFamily, 8, FontStyle.Regular), Brushes.Black, 10, 70); 
e.Graphics.DrawString("Produs | Cant | Pret | Total ", print8B, Brushes.Black, 10, 100); 
int height = 0; 
int x = 10; 
for (int i = 0; i < dataGridView1.Rows.Count; i++) 
{ 
    e.Graphics.DrawString(dataGridView1.Rows[i].Cells["DenumireProdus"].Value.ToString(), print6B, Brushes.Black, x, 120+height); 
    e.Graphics.DrawString(dataGridView1.Rows[i].Cells["produs_cantitate"].Value.ToString(), print6B, Brushes.Black, x+70, 120 + height); 
    e.Graphics.DrawString(dataGridView1.Rows[i].Cells["produs_pret"].Value.ToString() , print6B, Brushes.Black, x+105, 120 + height); 
    e.Graphics.DrawString(dataGridView1.Rows[i].Cells["produsvaloare"].Value.ToString(), print6B, Brushes.Black, x + 135, 120 + height); 
    height += 20; 
} 
e.Graphics.DrawString("-----------------------------------------", new Font(dataGridView1.Font.FontFamily, 8, FontStyle.Regular), Brushes.Black, 10, dataGridView1.Height); 
e.Graphics.DrawString("Total: " + textBox1.Text+" RON", print10B, Brushes.Black,40, dataGridView1.Height + 10); 

여기까지 :

e.Graphics.DrawString("-----------------------------------------", new Font(dataGridView1.Font.FontFamily, 8, FontStyle.Regular), Brushes.Black, 10, dataGridView1.Height); 
e.Graphics.DrawString("Total: " + textBox1.Text+" RON", print10B, Brushes.Black,40, dataGridView1.Height + 10); 

프린터는 위의 부분 (마지막이 졸라 매는 끈)를 인쇄하지 않습니다. 왜?

프린터 페이지 크기

는 비례 A4 (48mm X 68mm)

+0

는 페이지의 끝에 도달인가? 페이지에 맞는지 확인할 논리가 없습니다. 너무 길면 여러 페이지에 걸쳐 인쇄해야합니다. –

+0

어떻게 할 수 있습니까? –

+0

이 질문보기 : http://stackoverflow.com/questions/8761633/how-to-find-the-actual-printable-area-printdocument –

답변

관련 문제