Mejorar la Impresion de los Reportes de VFP en impresoras Matriciales

2,907 views
Skip to first unread message

jaime paredes

unread,
Oct 11, 2012, 8:22:45 AM10/11/12
to publice...@googlegroups.com
Amigos, muy buenos dias desde aqui de Iqutos - Peru, tengo un impase, ya se quieres usar las impresoras laser en una institucion del estado por falta de presupues ya que en mi aplicativo tengo un reporte diseñado por re Repor from del visual foxpro y es grafico propiamente pero ahora en impresora matriciales es muy lento a pesar que bajo la calidad de impresion, la verdad que yo no la veo muy lento, pero como se pudiera mejorar esa rapides ya que si diseño un nuevo reportes como para impresion en DOS se me va hacer muy tedioso, no se derrepente hay otra solucion.

Muy agradecido

Jaime Paredes Vásquez

Fox Learner

unread,
Oct 11, 2012, 9:36:31 AM10/11/12
to publice...@googlegroups.com
Esta usando un controlador tipo solo texto generico o solo texto pero del fabricante del dispositivo ? ..

Su impresora matricial no trae un panel de configuración de tipos de letra ? ...

Saludos!

jisoftw...@gmail.com

unread,
Oct 11, 2012, 9:42:00 AM10/11/12
to publice...@googlegroups.com
Es un reporte generado por el mismo vfp solo que es complicado tiene lineas y columnas y al momento que lo mando a impresion a una matricial se pone muy lenta a pesar que bajo la resolucion del reporte y ahora como hago para fasilitar todo eso.
Enviado desde mi BlackBerry de Movistar

From: Fox Learner <thenewin...@gmail.com>
Date: Thu, 11 Oct 2012 06:36:31 -0700 (PDT)
Subject: [vfp] Re: Mejorar la Impresion de los Reportes de VFP en impresoras Matriciales

Esta usando un controlador tipo solo texto generico o solo texto pero del fabricante del dispositivo ? ..

Su impresora matricial no trae un panel de configuración de tipos de letra ? ...

Saludos!

--
 
 
 

Edgar Acevedo

unread,
Oct 11, 2012, 10:42:30 AM10/11/12
to publice...@googlegroups.com
Cuando una impresión sale "a través del controlador de Windows", ésta es "dibujada" en la impresora.  En otras palabras: cuando mandas a imprimir la plabra "Fox" a una impresora (sea la que sea) directamente por medio del controlador de dicha impresora instalada en Windows, la impresora NO imprimie una "EFE" (F) luego una "O" (o) y finalmente una "EQUIS" (X).  En realidad "las dibuja".

Antes, en tiempos de DOS, cuando mandabas a imprimir la plaba "Fox" a una impresora matricial, ésta en realidad SI IMPRIMIA las letras indicadas, como si fuera una máquina de escribir ya que las impresoras matriciales tienen guardadas sus "Tipos de Letras" en un chip de MEMORIA ROM que tienen incorporado.  Afortunadamente TODAVÍA son así.  Regularmente solo traen los tipos  Roman, Sans Serif y Courier New aunque otros modelos incluyen 2 o 3 tipos más.

Lo que tienes que hacer entonces, es lograr que Windows "se olvide" de mandar a dibujar las letras a las impresoras matriciales y que mas bien le mande "tipos" a dicha impresora para que ella haga lo que mejor sabe hacer: imprimir con tipos y no "dibujado" los REPORT FORM.  Claro, esto SOLO FUNCIONA con impresoras matriciales ya que ellas tienen "memorizados" los tipos de letras.  Las impresoras Laser y de Inyección NO SABEN nada de tipos de letras (bueno, la gran mayoría no...)

Puede que alguien del foro tenga otra forma de hacerlo mucho mejor que la mía, pero "mi manera" de hacerlo es la siguiente:

Paso 1:  Genero el reporte hacia un archivo de Texto Plano de la siguiente manera:

SET REPORTBEHAVIOR 80
_ASCIICOLS = 255
_ASCIIROWS = 66
REPORT FORM  TuInforme.FRX   TO FILC:\Reporte.TXT  ASCII

Paso 2:  Creo un archivo .BAT sobre la marcha que mande la impresión desde el DOS de Windows. Estos son los comandos:

IF FILE("LPRINT.BAT")
     ERASE ("LPRINT.BAT")
ENDIF
M.FilHnd = FCREATE("LPRINT.BAT")
FPUTS(M.FilHnd,  "@TYPE  C:\Reporte.TXT  >LPT1")
FPUTS(M.FilHnd,  "@DEL 
C:\Reporte.TXT")
FCLOSE(M.FilHnd)

Paso 3:  Finalmente ejecuto el archivo .BAT recién creado para que la impresión salga desde el DOS y de esa forma lo que llegue a la impresora sean "tipos" y no "instrucciones de dibujo".  Estos son los comandos:

IF FILE(LPRINT.BAT")
     RUN /N7  LPRINT.BAT
     ERASE  LPRINT.BAT
ENDIF

La idea detrás de todo lo anterior es que la impresión salga desde la consola de DOS (DVM de Windows) en lugar de que salga "directamente" de Windows.

Salu2,



Edgar







--
 
 
 

Cesar VfpImaging

unread,
Oct 11, 2012, 10:58:40 AM10/11/12
to publice...@googlegroups.com
For DOT-MATRIX reporting, I use the normal reports, but with SET REPORTBEHAVIOR 80
And use only the fonts native to the printer, for example: "DRAFT", "SERIF". These fonts always appear with a small printer icon on the left.

Don't forget to set up the default printer in your main report settings, at least during the time you are designing. If you want, after you create your report, you can even clean the Printer-Environment settings.

Using these native fonts is the better option for you. 
1 - They will print super fast (because they are native)
2 - Allow you to use some other fonts and sizes, Big and compressed fonts are allowed (in ASCII just one size)
3 - Allow you to determine exactly the position of each field or label



Saludos,

Cesar

jisoftw...@gmail.com

unread,
Oct 11, 2012, 11:22:22 AM10/11/12
to publice...@googlegroups.com
Amigo y esto no deforma el reporte en ningun aspecto?
Enviado desde mi BlackBerry de Movistar

From: Edgar Acevedo <aper...@gmail.com>
Date: Thu, 11 Oct 2012 08:42:30 -0600
Subject: Re: [vfp] Re: Mejorar la Impresion de los Reportes de VFP en impresoras Matriciales
--
 
 
 

Edgar Acevedo

unread,
Oct 11, 2012, 12:14:30 PM10/11/12
to publice...@googlegroups.com
Si, lo modifica.

El reporte NO te saldrá gráfico.  No incluirá gráficas, rectángulos, círculos o líneas hechas con la función de dibujo del Diseñador de Reportes.

Tampoco te saldrá el texto "Intercalado" porque ahora tendrás la limitante de que los "tipos" propios de la impresora deben obedecer a una impresión por línea.  Así que si en el diseño original tenías líneas que no coinciden exactamente, a la hora de hacer el truco indicado, VFP "Forzará" a que las líneas coincidan a una "linea de impresión".

De seguro te verás obligado a hacer ajustes a tu reporte en base a pruebas de impresión que generes.


OTRA OPCION:

Una cosa que hago para evitarme el estar haciendo ajustes como te indico arriba es crear los reportes con FOXPRO para DOS y los ejecuto desde mi aplicación de VFP9.  NO ES POSIBLE abrir los reportes creados en FOXPRO para DOS en VFP9 sin convertirlos (perdiéndo así la configuración de "tipo texto").  Si quieres hacerles cambios, tendrás que seguir modificándolos en FOXPRO para DOS.

Salu2,


Edgar Acevedo




--
 
 
 

Message has been deleted

Cesar VfpImaging

unread,
Oct 11, 2012, 4:29:38 PM10/11/12
to publice...@googlegroups.com
Josepe,

De acuerdo.
Pero en mi caso, no tengo problemas con Win7. Solo es necesario tener la impresora "dot matrix" instalada en la computadora

Saludos

2012/10/11 Josepe <jose...@gmail.com>
Es fácil hacer report forms de VFP que impriman veloz en matriciales. Yo lo hago dando Font Draft 10Cpi, Draft 15Cpi, etc. a los report Form.

Nota: Debe hacerse el reporte desde VFP en Windows Vista o XP porque bajo win7 no están disponibles los fonts que te menciono. Una vez empacado el EXE o App, éste sí se puede ejecutar desde Win7 y el font te corre.
Una vez elegido estos fonts para tu reporte, van a volar en el matricial, y si luego haces otros cambios a tus programas, sin tocar los report form, usando Windows 7, se conservan los Font.

--
 
 
 

CarSar

unread,
Nov 1, 2013, 6:19:12 AM11/1/13
to publice...@googlegroups.com
Estimado EdgarGt

Quería agradecerte por haberme resuelto un "gran problema" que tenía a la hora de imprimir en impresoras matriciales desde nuestro querido VFP.
Estaba buscando una solución a esto hace rato y no encontraba ninguna.
Hasta ahora lo había resuelto generando reportes en el viejo FoxPro 2.6 para DOS lo cual era bastante engorroso.

Una vez más, muchas gracias por compartir este tesoro tan preciado; "el saber".

Saludos desde La Pampa, Argentina.

Carlos.

Milton

unread,
Nov 1, 2013, 11:22:27 AM11/1/13
to publice...@googlegroups.com
Estimado Cesar:

       Quiero hacerte una pregunta adicional sobre tu solución ya que  tambièn utilizo lo mismo que indicaste en tu respuesta y es válida para una impresora LX-300 por  ejemplo, pero para una TM-U220  que utiliza rollos de facturas, tengo problemas porque no se como configurar el tamaño de papel puesto que este tipo de impresoras existe un margen de alrededor de 2 cm que no se debe contemplar en el tamaño de papel, y la impresiòn va poco a poco descuadrando, tenièndose que enrollar cada cierto nùmero de facturas emitidas. Agradecería su ayuda en este tema.

Att.

MILTON CACHIPUENDO
Ibarra - Ecuador

Luis la Romana

unread,
Nov 1, 2013, 11:48:15 AM11/1/13
to publice...@googlegroups.com
Los reportes de VFP podés hacerlos que impriman rápido usando Windows Vista y ejecutando allí VFP para modificar los reportes.
Estando abierto el editor de reportes vas a menú Archivo, Impresión, Configurar impresor. Eliges allí tu impresor matricial y verás que desde ese momento para el reporte podés elegir fuente Draft 10cpi ó Draft 15cpi para los campos. Le das Guardar y compilas tu aplicación. Des hacer pruebas de impresión en ese momento para ajustar según convenga.
Ya con eso los reportes van a volar como si fueran de DOS. Estos reportes debes dejarlos como adicionales u opcionales a los que ya tienes para laser, no sale bien pretender que el mismo reporte servirá para ambos tipos de impresión.
Nota: si trabajas el VFP con win7 (editar y compilar) no podrás usar esas fuentes, no están disponibles porque win7 no permite usar los drivers nativos de Epson.
Reply all
Reply to author
Forward
0 new messages