Reputation: 29
I'm Having problem printing a barcode in c# winform
this is my code:
\GENERATING BARCODE
Code128BarcodeDraw codigoDeBarra = BarcodeDrawFactory.Code128WithChecksum;
codigo = equipo.Codigo1;
categoria = equipo.Categoria1;
imagenCodigo = codigoDeBarra.Draw(codigo, 20);
\AND PRINTING
private void imprimir(object sender, PrintPageEventArgs e)
{
//chkImprimir.CheckState == CheckState.Checked
if (chkTest.CheckState == CheckState.Checked)
{
FrmEquipos frmequipos = new FrmEquipos();
frmequipos.txtCodigo.Text = codigo;
frmequipos.Show();
}
else
{
Font font = new Font("Arial", 13, FontStyle.Bold, GraphicsUnit.Point);
Font font1 = new Font("Arial", 5, FontStyle.Bold, GraphicsUnit.Point);
Font font2 = new Font("Arial", 8, FontStyle.Bold, GraphicsUnit.Point);
int width = 200;
int height = 280;
int x = 70;
e.Graphics.DrawString("cca", font, Brushes.Black, new RectangleF(x + 5, 6, width, height));
e.Graphics.DrawImage(imagenCodigo, new PointF(x, 25));
//e.Graphics.DrawString(textoConAsteriscos, customFont, Brushes.Black, new PointF(x, yPosCodigoBarras));
e.Graphics.DrawString(codigo, font2, Brushes.Black, new RectangleF(x, 48, width, height));
e.Graphics.DrawString(categoria, font1, Brushes.Black, new RectangleF(x + 45, 50, width, height));
}
\PRINT CLICK
private void btnImprimir_Click(object sender, EventArgs e)
{
int cantidadimprimir = (int)txtCantidadImprimir.Value;
printDocument1 = new PrintDocument();
PrinterSettings ps = new PrinterSettings();
printDocument1.PrinterSettings = ps;
printDocument1.PrintPage += imprimir;
printDocument1.PrinterSettings.Copies = (short)(int)cantidadimprimir;
printDocument1.Print();
LimpiarCampos();
}
I'M USING zebra zd410 and zebra zd421..
I put the barcode into picturebox and show it in the winform and looks good but when I printing it's loog bad here picture:
Upvotes: 0
Views: 86