private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { while (pageNumber < slitLabels.Length) { Graphics g = e.Graphics; CodeQrBarcodeDraw QRcode = BarcodeDrawFactory.CodeQr; // to generate QR code System.Drawing.Image QRcodeImage = QRcode.Draw(slitLabels[pageNumber], 100); // RectangleF(The coordinates of the upper-left corner of the rectangle, width, height) RectangleF QRcodeRect = new RectangleF(20.0F, 40.0F, 150.0F, 150.0F); g.DrawImage(QRcodeImage, QRcodeRect); BarcodeDraw bdraw = BarcodeDrawFactory.GetSymbology(BarcodeSymbology.Code128); System.Drawing.Image barcodeImage = bdraw.Draw(slitLabels[pageNumber], 100); RectangleF barcodeRect = new RectangleF(350.0F, 60.0F, 430.0F, 110.0F); g.DrawImage(barcodeImage, barcodeRect); // Create string to draw. String drawString = slitLabels[pageNumber].ToUpper(); // center the text in a specified rectangle. StringFormat sf = new StringFormat(); sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Center; SolidBrush drawBrush; // Back color if (TYPE.ToUpper() == "SM") { COLOR = SMFrontColorText.Text; drawBrush = new SolidBrush(Color.White); System.Drawing.Font colorFont2 = new System.Drawing.Font("Ariel", 40, FontStyle.Bold); g.FillRectangle(new SolidBrush(Color.Black), 170, 125, 170, 60); RectangleF colorRect2 = new RectangleF(160.0F, 120.0F, 180.0F, 80.0F); g.DrawString(SMBackColorText.Text.ToUpper(), colorFont2, drawBrush, colorRect2, sf); } // front color drawBrush = new SolidBrush(Color.Black); System.Drawing.Font colorFont = new System.Drawing.Font("Arial Black", 50, FontStyle.Bold); RectangleF colorRect = new RectangleF(150.0F, 40.0F, 220.0F, 80.0F); g.DrawString(COLOR.ToUpper(), colorFont, drawBrush, colorRect, sf); // type System.Drawing.Font typeFont = new System.Drawing.Font("Ariel", 30, FontStyle.Bold); RectangleF typeRect = new RectangleF(400.0F, 15.0F, 100.0F, 60.0F); g.DrawString(TYPE.ToUpper(), typeFont, drawBrush, typeRect, sf); // date string month_year = DateTime.Now.ToString("MMM").ToUpper() + "_" + DateTime.Now.ToString("yy"); System.Drawing.Font timeFont = new System.Drawing.Font("Ariel", 20, FontStyle.Bold); RectangleF timeRect = new RectangleF(550.0F, 15.0F, 150.0F, 60.0F); g.DrawString(month_year, timeFont, drawBrush, timeRect, sf); // width string width = slitLabels[pageNumber].Split('+')[5]; System.Drawing.Font widthFont = new System.Drawing.Font("Ariel", 30, FontStyle.Bold); RectangleF widthRect = new RectangleF(700.0F, 15.0F, 100.0F, 60.0F); g.DrawString(width, widthFont, drawBrush, widthRect, sf); // Coil ID System.Drawing.Font drawFont = new System.Drawing.Font("Ariel", 16); // Create point for upper-left corner of drawing. float x = 345.0F; float y = 170.0F; g.DrawString(drawString, drawFont, drawBrush, x, y); if (TYPE.ToUpper() == "SM") { pageNumber++; } else { pageNumber += 2; } if (pageNumber < slitLabels.Length) { e.HasMorePages = true; //e.HasMorePages raised the PrintPage event once per page . } return; } }