FOXYPREVIEWER incompatible con impresoras de impacto

495 views
Skip to first unread message

cegap

unread,
Jun 22, 2011, 3:24:09 PM6/22/11
to Comunidad de Visual Foxpro en Español
Acabo de hacer pruebas con FOXYPREVIEWER en varios modelos de
impresoras de matriz de punto y en todas resulto que la impresion
salia comprimida e ilegible.
A continuacion los modelos con los que hice pruebas:
- TM-U220PD EPSON
- LX-300+ EPSON
- LX-300 ESC II EPSON
- LQ-570 EPSON
- SRP-275 SAMSUNG BIXOLON
- SRP-270 SAMSUNG BIXOLON
- M90 ITHACA OKIDATA
- FX-1170 EPSON

Yo se que no son muchos modelos, pero en todos presento el mismo
inconveniente; probe muchas formas de configurarlo en FOX y tambien
probe varias versiones de drivers de las impresoras y el problema
persistio.

La unica manera de sacar reportes relativamente decentes, fue usando
el driver generico de impresora solo de texto que viene con el
windows.

Se agredeceran comentarios

Edgar Acevedo

unread,
Jun 22, 2011, 4:50:41 PM6/22/11
to publice...@googlegroups.com
Independientemente de FoxyPreviewer, con VFP yo SIEMPRE he tenido el siguiente problema con impresoras de Matriz de Punto:

VFP imprime en las impresoras a través de Windows y en el caso de "Impresoras de Matriz" esto puede ser una desgracia porque Windows por default NO UTILIZA las tablas de caracteres grabadas en las memorias ROM de dichas impresoras.  Windows lo que hace es "dibujar" las letras utilizando sus drivers (controladores) y esto supone una gran desventaja por las siguientes razones:

      A-  Las impresoras de Matriz estan optimizadas para imprimir utilizando sus tablas de caracteres ROM y no para dibujar punto por punto.
      B- Si hablas de impresoras de Matriz de 9 pines la impresión saldrá muy "pixelada" o "punteada" o mejor dicho "desgraciada"
      C- El asunto empeora si deseas imprimir caracteres menores de 7 puntos:  algunos quedan tan deformes que ni se alcanzan a entender.
      D- Como la impresión es "dibujada por puntos", en impresoras pequeñas como la EPSON LX-300 o la OKI ML-184, la impresión es
          insoportablemente lenta.

Si Windows utilizara la tabla de caracteres ROM de las impresoras, esto NO SERÍA un problema porque aún en el modo mas condensado posible (20 cpi o caracteres por pulgada), aún en impresoras de 9 pines, las letras se miran bastante legibles pero cuando Windows "las dibuja" a puro punto, la impresión sale miserablemente ilegible.

Entonces no diríamos que es culpa de VFP, sino mas bien de "el concepto" de impresión que Windows utiliza con impresoras de Matriz, donde "hubiera sido bueno" que existiera un modo en el que se respetaran las tablas de caracteres internas de las impresoras (ROM).

Aún cuando elijes un "driver genérico" y defines la impresora como una "Genérica de Texto", el desventurado Windows imprime "dibujando" de todos modos.

SIN EMBARGO.....  Sin embargo, afortunadamente, al poner a la impresora de Matriz como una "Genérica de Texto", tienes la oportunidad de imprimir a la "usanza" del viejo D.O.S. mediante un truco y este es el siguiente:

1- Pones el  SET REPORTBEHAVIOR 80
2- Mandas el reporte a un archivo ASCII colocando la clausula ASCII como por ejemplo:
         REPORT FORM MiReport.FRX NOCONSOLE ASCII TO FILE MiTexto.txt
3- Creas un archivo .BAT que mande a imprimir el archivo tipo ASCII recién creado.  Por ejemplo:
      LPRINT.BAT
         TYPE  MiTexto.txt  > PRN
4- Luego mandas a ejecutar el archivo .BAT que creaste (llamado LPRINT.BAT según el ejemplo anterior):
         RUN  /N7  LPRINT.BAT

Yo particularmente lo uso asi porque hago uso extenso de las sentencias ESC  (comandos de impresión de Matriz).  Por ejemplo, tengo una aplicación que imprime cheques y lo hace de esta forma:
        - La fecha se imprime en pica de 12 CPI ( chr(27), chr(77) ) a doble tamaño ( chr(14) )
        - El nombre del beneficiario del cheque en pica de 12 CPI ( chr(27), chr(77) ) a tamaño standard
        - El monto del cheque se escribe enfatizado ( chr(27), chr(69) ), en pica de 12 ( chr(27), chr(77) ) a tamaño standard

En fin, hago uso extensivo de los tipos de letras internos de las impresoras de Matriz (ROM) y muchas veces, necesito imprimir con caracteres bastante pequeños (pica de 20 cpi) PERO QUE SEAN CLARAMENTE LEGIBLES y no los mamarrachos que "dibuja" Windows.

En resumen NO PERMITO que Windows "Dibuje la impresión", sino que mejor, yo mando directamente la impresión de un archivo ASCII para que la impresora de Matriz utilice su "modo nativo" de impresión y de esa manera si me salga "legible" la impresión aunque utilice letras bastante pequeñas (de 20 cpi).

Claro que PIERDO POR COMPLETO las otras habilidades de Windows como lo son el utilizar todos los FONTS, tipos y tamaños de letras de Windows, así como la impresión de imágenes, dibujitos y cosas por el estilo.

Salu2,


Edgar

Intel Man

unread,
Jun 22, 2011, 4:57:40 PM6/22/11
to publice...@googlegroups.com
Hola, siguen con el concepto de usar un "intermediario" (en este caso el archivo de texto), para hacer cosas que el fox lo puede hacer él mismo, me refiero a que yo tambien imprimo en impresoras matriciales y no uso archivos de texto intermedios solo uso el @say. en impresoras de matriz de puntos o impresoras de tickets, claro que no uso el reporteador pero me vasta para hacer todo como el @say :)

Si usan archivos de texto tendras el inconveniente que si usas impresoras usb o impresoras inalambricas volveras aquí al grupo y preguntaras: Como mando un archivo de texto a una impresora USB? :S  y asi seguiran buscando mas "herramientas de terceros" para hacer lo que el VFP puede hacerlo sin problemas y mucho mas simple.

Saludos



Date: Wed, 22 Jun 2011 14:50:41 -0600
Subject: Re: [vfp] FOXYPREVIEWER incompatible con impresoras de impacto
From: aper...@gmail.com
To: publice...@googlegroups.com

Edgar Acevedo

unread,
Jun 22, 2011, 5:06:36 PM6/22/11
to publice...@googlegroups.com
Utilizo el "intermiediario" porque hablamos del generador de reportes, y la pregunta se lanzó sobre el FoxyPreviewer.
Si solo voy a imprimir una factura o un cheque, claro que no utilizo el "intermediario" sino el "@say" , pero esa no era la pregunta.
En lo personal tengo algunos reportes extremadamente complejos que utilizan varios niveles de agrupación y variables, lo cual programarlo a puro "@say" sería una maldita pesadilla y sería "reinventar la rueda" si el creador de reportes ya tiene la habilidad para manejar esas situaciones.

Además lo de imprimir en impresoras USB es muy simple:  Redireccionas el puerto mediante el NET USE.  Me imagino que alguien en este foro ya habrá tocado el tema mas de una vez.

Salu2,


Edgar

Daniel Sánchez

unread,
Jun 23, 2011, 12:22:11 AM6/23/11
to publice...@googlegroups.com
Usando say se puede imprimir lo que deseas a cualquier impresora

*para inicializar 

Set Console Off
Set Device To Printer
Set Printer On

*aqui va los say con los datos coordenadas, texto a imprimir, tipo de letra (letras de impresora o windows puedes combinar), tamaño de letra si usas de impresora ignora el tamaño indicado, el picture de lo que se imprimir y el estilo N=normal, B=Negrita, I=Italica, T=transparente el relleno del texto.

@ posicion_f,posicion_c Say "Lo que deseas imprimir" Font "Draft 12cpi", 12  Picture "!"  Style "BI"

*para finalizar la impresión

Set Printer Off
Set Printer To
Set Device To Screen

Saludos

--
Daniel Sánchez Escobar
Investigación y Desarrollo
Reset Software & Sistemas
Móvil +051-949398047
Trujillo - Perú

Cesar VfpImaging

unread,
Jun 28, 2011, 8:34:55 AM6/28/11
to publice...@googlegroups.com
Cegap,
 
Puedes intentar con Foxypreviewer en el modo completo, utilizando la propiedad "lUseListener = .F."
Esto hace con que Foxypreviewer corra en el modo anticuo, con REPORTBEHAVIOR 80 solamente durante la impresion.
 
Funciona bien !

2011/6/22 cegap <ce...@sulanet.net>

mhlezama

unread,
Sep 8, 2016, 9:58:42 PM9/8/16
to Comunidad de Visual Foxpro en Español
DANIEL

solamente con eso puedo imprimir en impresoras de matriz o punto y en la impresora de tintas conectadas en USB?
debo utilizar el EJECT ?

Jairo Miranda

unread,
Sep 9, 2016, 9:28:56 AM9/9/16
to publicesvfoxpro
Foxypreviewer es compatible ,, puedes usar el tipo de letra LUCIDA CONSOLE en tamaño 8  y listo, también puedes usar el método de enviar a un archivo texto y desde ahí imprimir usando el block de notas

JM

Daniel Sánchez

unread,
Sep 10, 2016, 9:03:58 AM9/10/16
to Comunidad de Visual Foxpro en Español
En mi caso trabajo hace muchos años con el generador de reportes sin mayor inconveniente, y en cuanto al eject, debo suponer que también va sin problemas con impresoras laser o inyección de tinta.

Saludos

El 8 de septiembre de 2016, 20:58, mhlezama <mhle...@gmail.com> escribió:



--
Móvil +051-949398047 RPM #948615385
Trujillo - Perú

P  Sugerimos no imprimir este e-mail a menos que sea absolutamente necesario. Protejamos el medio ambiente.
Reply all
Reply to author
Forward
0 new messages