FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Imprimir etiqueta con codigos escape
Hola a todos
Siempre he utilizado para imprimir etiquetas con su codigo de barras y demas, quickreport y delphi 6. Hasta ahora todo funcionaba bien. Pero ahora tengo que hacerlo através de los codigos de escape de la impresora. (Zebra Lp 2844). Tengo los códigos en un fichero txt. FK"*" N B60,8,0,2C,3,8,232,N,"0000001231542361416795001001" A100,254,0,4,1,1,N,"000000-000000-1416795001-123564" A540,300,0,3,1,1,N,"C.POSTAL" . . Pero no se como enviarselo a la impresora. He buscado por muchos sitios incluyendo el manual de programación de dicha impresora pero no encuentro como enviar una linea y que la impresora la interprete. Es verdad que si desde ms-dos le digo print etiqueta.txt me la imprime pero por el puerto LPT1 y tengo la necesidad de imprimirla por el USB. Si alguién me puede dar una pista. Gracias. |
#2
|
|||
|
|||
Si buscas en los foros, vas a encontrar hilos que hablan de como eviar un texto a una impresora por un puerto USB. Una de las que recuerdo haber leído es que compartas la impresora y luego en vez de escribir el Puerto, colocas el nombre que tiene la impresora compartida.
Suerte. |
#3
|
|||
|
|||
Ya lo intenté pero no me funcionó.
Gracias. |
#4
|
|||
|
|||
Bueno, yo he impreso de esa manera y me ha funcionado. Déjame hacer unas pruebas y cualquier cosa te aviso.
Suerte. |
#5
|
|||
|
|||
Puedes usar el procedimiento AssignPrn y sacando el nombre de TPrinter:
|
#6
|
|||
|
|||
Solucionado y agradecido
De esta forma envío el archivo con los códigos de escape y funciona muy bien y muy rápido.
procedure TForm2.PrintFile(const sFileName: string); const iBufferSize = 32768; var Count, BytesWritten: Cardinal; hPrinter, hDeviceMode: THandle; sDevice : array[0..255] of char; sDriver : array[0..255] of char; sPort : array[0..255] of char; DocInfo: TDocInfo1A; f: File; pBuffer: Pointer; begin Printer.PrinterIndex := etiqueta.ItemIndex ; Printer.GetPrinter(sDevice, sDriver, sPort, hDeviceMode); if not WinSpool.OpenPrinter(@sDevice, hPrinter, nil) then exit; DocInfo.pDocName := 'Etiqueta; DocInfo.pDatatype := 'RAW'; DocInfo.pOutputFile := nil; if StartDocPrinter(hPrinter, 1, @DocInfo) = 0 then begin WinSpool.ClosePrinter(hPrinter); exit; end; if not StartPagePrinter(hPrinter) then begin EndDocPrinter(hPrinter); WinSpool.ClosePrinter(hPrinter); exit; end; System.Assign(f, sFileName); try Reset(f, 1); GetMem(pBuffer, iBufferSize); while not eof(f) do begin Blockread(f, pBuffer^, iBufferSize, Count); if Count > 0 then begin if not WritePrinter(hPrinter, pBuffer, Count, BytesWritten) then begin EndPagePrinter(hPrinter); EndDocPrinter(hPrinter); WinSpool.ClosePrinter(hPrinter); FreeMem(pBuffer, iBufferSize); exit; end; end; end; FreeMem(pBuffer, iBufferSize); EndDocPrinter(hPrinter); WinSpool.ClosePrinter(hPrinter); finally System.Closefile(f); end; end; procedure TForm2.SpeedButton2Click(Sender: TObject); begin PrintFile('C:\........\fichero.txt'); end; |
#7
|
||||
|
||||
Cita:
un saludo.
__________________
PepeLolo El hombre el único virus que mide más de unas cuantas micras |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como imprimir un fichero con codigos escape | comba | Impresión | 3 | 05-08-2006 03:26:21 |
codigos escape | bernat_f | Impresión | 4 | 17-06-2006 18:27:57 |
Codigos Escape Impresora Sansumg | serhasae | Varios | 3 | 05-09-2005 10:40:17 |
Codigos de escape con Zreport | Sick boy | Impresión | 0 | 22-07-2005 12:27:13 |
Codigos de escape | jsanchez | Impresión | 1 | 17-05-2003 13:54:00 |
|