Buenos días,
tengo un programa que se encarga de imprimir cada imagen n veces.
El problema es que si le digo que imprima 3 veces, sólo imprime 1 y si pongo 2 imágenes, sólo imprime la primera.
(tiene que ir una imagen por hoja)
Código:
private void btnImprimir_Click(object sender, EventArgs e)
{
try
{
printDocument1.PrinterSettings = printDialog1.PrinterSettings;
printDocument1.PrintPage += new PrintPageEventHandler(print_my_page);
printDocument1.BeginPrint += new PrintEventHandler(begin_print);
printDocument1.DefaultPageSettings.Landscape = true;
printDocument1.Print();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString() + " - " + ex.StackTrace.ToString());
}
}
Código:
private void print_my_page(object sender, PrintPageEventArgs ev)
{
ev.Graphics.PageUnit = GraphicsUnit.Millimeter;
int ncopias;
int totcopias;
DataGridViewRow fila;
for (int p = 0; p < dtgv.Rows.Count; p++)
{
fila = dtgv.Rows[p];
if (fila.Cells[0].Value.ToString() == "True")
{
ncopias = 0;
totcopias = Convert.ToInt32(fila.Cells[2].Value.ToString());
while (ncopias < totcopias)
{
DataGridViewRow row = dtgv.Rows[p];
string strFoto = row.Cells[1].Value.ToString();
picPlantilla.Image = new Bitmap(strFoto);
ev.Graphics.DrawImage(picPlantilla.Image, 0, 8, 145, 95);
ev.HasMorePages = true;
ncopias++;
}
}
}
ev.HasMorePages = false;
}