Foros del Web » Programación para mayores de 30 ;) » .NET »

imprimir por LPT1

Estas en el tema de imprimir por LPT1 en el foro de .NET en Foros del Web. Hola a todos. Estoy realizando una aplicación en c# para imprimir tickects de caja y necesito saber como puedo imprimir por LPT1. He visto que ...
  #1 (permalink)  
Antiguo 20/12/2007, 05:54
 
Fecha de Ingreso: octubre-2003
Mensajes: 15
Antigüedad: 20 años, 8 meses
Puntos: 0
imprimir por LPT1

Hola a todos.

Estoy realizando una aplicación en c# para imprimir tickects de caja y necesito saber como puedo imprimir por LPT1.

He visto que en visual basic hay una sentencia "shell" para realizar esta operación pero no sé como se hace en c#.

he probado de 2 formas:
- intentando imprimir directamente en lpt1
- creando un fichero e intentándolo imprimir después.

Gracias de antemano
  #2 (permalink)  
Antiguo 20/12/2007, 15:58
 
Fecha de Ingreso: enero-2004
Ubicación: Ciudad de México
Mensajes: 476
Antigüedad: 20 años, 4 meses
Puntos: 14
Re: imprimir por LPT1

Si tienes la impresora correctamente detectada y configurada en tu PC, puedes emplear la clase PrintDocument.

La funcion principal de la sentencia Shell de Visual Basic, no es imprimir, sino ejecutar otros procesos o programas. Su equivalente en .Net (ya sea Visual Basic .Net o C#) es la clase Process.
  #3 (permalink)  
Antiguo 21/12/2007, 01:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 15
Antigüedad: 20 años, 8 meses
Puntos: 0
Re: imprimir por LPT1

Gracias por la respuesta.

Me habían dicho que no era necesario configurar la impresora y por eso mis problemas. Una vez configurada ya he podido imprimir.

Al principio he utilizado una clase que encontré en http://www.foromsn.com/Version_Imprimible.php?Id=178209 pero me amontonaba las líneas y la he descartado. Si alguien sabe la razón....
Así que decidí hacerlo de otra forma en la que imprimo las líneas correctamente. No queda tan bonito pero me sobra.

Ahora, después de imprimir el ticket, tengo que abrir la caja física. El comando a utilizar es carácter escape seguido de (char)27p04. No estoy seguro de si es p04 o p0,4 pero he probado de las 2 formas.
También he probado poniendo el comando completo utilizando la sintaxis (char)nº y en ningún caso abre la caja. Esa sentencia la he puesto desde la consola de comandos ms-dos (directamente y a través de un fichero txt) y el cajón se abre pero desde el código de visual no.

Si alguien puede ayudarme estaría muy agradecido.

Aquí pongo el código utilizado:


private void button1_Click(object sender, EventArgs e)
{

string textoAImprimir = "1 Texto a imprimir\r\n";
textoAImprimir += "2 Texto a imprimir\r\n";

textoAImprimir += (char)27 + "p0,4"; //comandos para abrir el cajón físico

PrintAString(textoAImprimir);
}

#region "Impresion"
private Font printFont;
private string printString;

public void PrintAString(string data)
{
PrintDocument pd = new PrintDocument();
printFont = new Font("Courier", 10);

printString = data;
pd.PrintPage += new PrintPageEventHandler(PrintPage);
pd.PrinterSettings.PrinterName = "ticket";
pd.Print();
}

private void PrintPage(object sender, PrintPageEventArgs e)
{
float xp = 10;
float yp = 20;
e.Graphics.DrawString(printString, printFont, Brushes.Black, xp, yp, new StringFormat());
}
#endregion



Un saludo a tod@s.
  #4 (permalink)  
Antiguo 22/12/2007, 12:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 211
Antigüedad: 19 años, 7 meses
Puntos: 2
Re: imprimir por LPT1

Hola joormar
Me da que tienes que enviar al puerto el comando space ( (char)27p04 ) no imprimirlo, al menos eso creo, y la forma correcta de hacerlo seria utilizando las clases que se encuentran en el namespace System.Net (bueno te lo he dicho de memoria, creo q se llama asi)
Donde encontraras clases de puertos, redes etc.

Saludos.
  #5 (permalink)  
Antiguo 14/02/2009, 13:34
 
Fecha de Ingreso: enero-2007
Mensajes: 3
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: imprimir por LPT1

Hola Joomar, quisiera saber si serías tan amable de postearme algo de código respecto a la impresión en puerto LPT1. Necesito imprimir a una impresora matricial con códigos esc. Si podés comentame también cómo configuraste la impresora ya que en este post haces un comentario al respecto. Muchas gracias
  #6 (permalink)  
Antiguo 09/09/2009, 07:22
 
Fecha de Ingreso: septiembre-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: imprimir por LPT1

joormar, te quedo agradecido por el código que posteas... muy útil.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 05:41.