Recent

Author Topic: Control cut paper form lazreport  (Read 3127 times)

openscoreboard

  • New member
  • *
  • Posts: 27
  • openscoreboard
Control cut paper form lazreport
« on: November 20, 2018, 06:40:40 pm »
I have a report ticket 80mmx80mm.
I can printer ok all query records. But the printer only cut paper to finish to printer.
Can i cut then paper for every record.
I know ESC code for cut, but is posible call us from report?

Thanks!

GAN

  • Full Member
  • ***
  • Posts: 211
Re: Control cut paper form lazreport
« Reply #1 on: November 21, 2018, 12:31:48 am »
Do you want a new page (cut paper) for each records? If yes, then can use OnNext event of TfrDBDataSet.
Lazarus 1.6 FPC 3.0.0 Linux Mint Mate 17.2 x86_64 GTK-2
Zeos 7.1.3 - Sqlite 3.8.2

Foro Lazarus en español http://forum.lazarus.freepascal.org/index.php/board,73.0.html

openscoreboard

  • New member
  • *
  • Posts: 27
  • openscoreboard
Re: Control cut paper form lazreport
« Reply #2 on: November 21, 2018, 06:19:23 pm »
Thanks!
Yes, i think than is a posible solution.
I find OnNext event in my object infdatainv (TfDBDataSet), but how can force new page?.


GAN

  • Full Member
  • ***
  • Posts: 211
Re: Control cut paper form lazreport
« Reply #3 on: November 22, 2018, 01:55:41 am »
Hablemos español entonces  ;)
Una forma rápida es con click derecho en la banda maestra (master data) y ahí seleccionas forzar nueva página, de esa manera te imprimirá un registro por página. Lo probé con un reporte y funcionó bien.

Saludos.
Lazarus 1.6 FPC 3.0.0 Linux Mint Mate 17.2 x86_64 GTK-2
Zeos 7.1.3 - Sqlite 3.8.2

Foro Lazarus en español http://forum.lazarus.freepascal.org/index.php/board,73.0.html

openscoreboard

  • New member
  • *
  • Posts: 27
  • openscoreboard
Re: Control cut paper form lazreport
« Reply #4 on: November 22, 2018, 06:28:17 pm »
OK!!
En español mejor.... :D
He probado a indicar en la banda forzar nueva pagina. El informe genera las paginas nuevas, pero eso no fuerza el corte del ticket.
Solo corta el ticket al imprimir el ultimo registro (final de impresión)
He intentado también añadir los códigos de escape que se utilizan en la impresora para cortar el papel, pero se imprimen como simples caracteres, en el ticket (no ejecutan el corte).

Estoy un poco atascado la verdad...

¿alguna idea?

Gracias, un saludo
« Last Edit: November 22, 2018, 06:30:59 pm by openscoreboard »

lucamar

  • Hero Member
  • *****
  • Posts: 1555
Re: Control cut paper form lazreport
« Reply #5 on: November 22, 2018, 07:00:37 pm »
[...] El informe genera las paginas nuevas, pero eso no fuerza el corte del ticket.
Solo corta el ticket al imprimir el ultimo registro (final de impresión)

Si eso es así una posible solución sería imprimir un informe por cada ticket. Sospecho que también puedes poner la impresora en modo "crudo" (raw) y mandar la secuencia de corte, pero no estoy seguro de cómo hacerlo.

----- [EN] (for those who don't speak Spanish!)

If that's so then a possibe solution would be to print just one report per ticket. I suspect that you could also put printer in "raw" mode and send the cutting sequence but I'm not at all sure how to do this.
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus 1.8.4 & 2.0.2 w/FPC 3.0.4 on:
(K|L)Ubuntu 12..16, Windows XP SP3, various DOSes.

GAN

  • Full Member
  • ***
  • Posts: 211
Re: Control cut paper form lazreport
« Reply #6 on: November 22, 2018, 10:43:21 pm »
Creo que la solución propuesta por lucamar debería funcionar.

También puedes probar usando la unidad Printers (con ese al final, aclaro porque también está Printer) y en el evento OnNext, mandar el código de corte, como también dice lucamar, en raw.

Code: Pascal  [Select]
  1. begin
  2.   Printer.RawMode:=true;
  3.   Printer.BeginDoc;
  4.   Printer.Write(elcodigodecorte);
  5.   Printer.EndDoc;
  6. end;

Donde elcodigodecorte puede ser una variable o mandar directamente el código. Y probar a ver que pasa.

Saludos.
Lazarus 1.6 FPC 3.0.0 Linux Mint Mate 17.2 x86_64 GTK-2
Zeos 7.1.3 - Sqlite 3.8.2

Foro Lazarus en español http://forum.lazarus.freepascal.org/index.php/board,73.0.html

openscoreboard

  • New member
  • *
  • Posts: 27
  • openscoreboard
Re: Control cut paper form lazreport
« Reply #7 on: November 23, 2018, 11:31:08 am »
Lo tengo!
Después de muchas pruebas....
He instalado los drivers del fabricante de la impresora (star). El driver Windows era muy básico.
En las propiedades del driver se puede configurar el corte del papel al cambiar de pagina.
Ademas la impresora tiene un sensor que detecta en la parte posterior que indica fin de ticket (es un punto grande negro).
Adjunto las capturas.

Gracias. Un saludo