Estimados amigos del foro:
Como muchos de ustedes uso la clase TdosPrn modificada por Ednaldo Rolim que nos da la opcion de previsualizar los reportes (una excelente clase) antes de imprimirlas en impresoras matriciales.
Sin embargo me encontre con clientes que tenian impresoras Laser USB, u otras con tarjeta de red y se quejaban de que no podian imprimir desde este preview. Habia que hacer algunos trucos con NET USE LPTx para que se pudiera redireccionar la impresion a esas impresoras, lo que resultaba un tanto molesto.
Me preguntaba si es que tendria que rehacer todos mis reportes en las que usaba la clase TdosPrn para cambiarlos a tReport o tPrinter, pues con esas clases los reportes no tenian problemas al imprimir en cualquier impresora.
Investigando la clase TxtPreview (llamada por TdosPrn), encontre que la previsualizacion la hace usando otra clase fGet (de Ramon Avendaño), la misma que tiene un metodo Print() que llama a la clase tPrinter (entendieron el rollo?).
Bueno.... con unas horas (dias?) de trabajo pude hacer algunas modificaciones en ambas clases (txtpreview y fGet) para conseguir imprimir en tamaños de fuente apropiados para laser y ahora el problema de imprimir en CUALQUIER IMPRESORA se termino! (al menos eso creo)
No tengo que modificar mis reportes antiguos !!! (que heredo desde DOS) y puedo "convertirlos" a modo grafico (lo he probado en varios modelos laser y de inyeccion de tinta con exito). La fuente con la que imprime es "Lucida console" que esta todas las PC a partir de windows XP. Por ahora solo reconoce 2 tamaños de fuentes el modo "normal" y "comprimido" (que para mi es suficiente). Si alguna mente mas lucida sugiere algunos cambios para imprimir otros tipos de fuente, sea bienvenida.
Les paso los fuentes para quienes les interese, espero no estar violando derechos de autor, aclaro que las clases mencionadas no son mias. Es un pequeño aporte por lo mucho que he recibido de este foro.
Pueden descargar los fuentes y un ejemplo desde www.solupymes.com/fwin/tdosprev.zip
Saludos
Ralph del Castillo