2012-03-23 16 views
5

Uso this device para imprimir un código de barras, pero la impresora no deja de imprimir, y me da etiquetas vacías hasta que lo apago. Encontré this question, pero especificar el tamaño del papel no me ayudó.No puedo dejar de imprimir

El código que utilizo:

PrintDocument document = new PrintDocument(); 
document.DefaultPageSettings.PaperSize = 
    new PaperSize("Custom", Centimeters(7), Centimeters(5)); 
document.PrintPage += (s, a) => 
{ 
    a.Graphics.DrawString("*123456*", 
          BarcodeFont, 
          new SolidBrush(Color.Black), 
          new Point(0, 0)); 
} 
document.Print(); 

Centímetros Método:

// Converts the unit "Hundredths of an inch" to centimeter. 
int Centimeters(int centimeters) 
{ 
    return (int)((centimeters * 100)/2.54); 
} 

Se imprime el código de barras a primera etiqueta correctamente, pero no se detiene. Las etiquetas son 7x5 cm. y configuré el tamaño del papel de acuerdo con esto, no tengo idea de qué más puedo hacer.

Editar: Configurar HasMorePages en falso no ayudó y sé que no es por el dispositivo que uso: hay otros programas que utilizo para imprimir códigos de barras y todos funcionan.

+0

Uso del depurador. Establezca un punto de interrupción en el código lambda PrintPage * y * la llamada Print(). Con probabilidades significativas de que el punto de interrupción de llamada Print() golpea más de una vez. Mira la pila de llamadas para ver cómo sucedió eso. –

+0

@Hans, no, golpea solo una vez. –

+0

¿Está cambiando el stock de impresión? (La mayoría) Las impresoras térmicas deben recalibrarse antes de que note que el tamaño de la etiqueta ha cambiado. (sManual_Spanish.pdf p27) – charlesbridge

Respuesta

5

Conjunto HasMorePages la propiedad de la eventArgs false:

document.PrintPage += (s, a) => 
{ 
    a.Graphics.DrawString("*123456*", 
          BarcodeFont, 
          new SolidBrush(Color.Black), 
          new Point(0, 0)); 
    a.HasMorePages = false; 
} 
+0

Gracias por su respuesta, pero no funcionó. Todavía continúa hasta que apago el interruptor de encendido. –

+0

Ya es falso, esta no es la causa. –

Cuestiones relacionadas