FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Resoluciones de las impresoras X TReport/TPrinter
Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Wed May 23, 2007 03:23 AM
El inconveniente es que no siempre sale lo impreso seg煤n se espera en todas las impresoras.

La mayor parte de nosotros utilizamos preview en forma general, excepto cuando se trata de impresi贸n de boletas y facturas o registros contables como en Per煤 que tienen requisitos de copias al carb贸n que exigen las autoridades tributarias y para lo cual utilizamos las clase TdosPrn.

Por ello es que cada uno, en su af谩n de conseguir la estandarizaci贸n de la salida, sin importar la marca o modelo de la impresora, establecimos factores para corregir las salidas. Ese es el motivo de las rutinas que mostramos en el foro y que de alguna manera podr铆an ayudar a los copart铆cipes.

Saludos

jacgsoft wrote:Lo que yo hago es simple, tengo una funcion simplemente para PREVISUALIZAR y otra para imprimir.

Para el Preview uso: TPrint(Asi me olvido del modelo de la impresora)
-----------------------

Define Font oFont Name 'Arial' Size 16,25

Print oPrn Preview
Page

oprn:Say(10,10,'ejemplo',oFont)

EndPage



para Impresion directamente a Impresora uso: TdosPrn()
------------------------------------------------------
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicaci贸n via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Tue May 29, 2007 09:57 AM

Muy buena la soluci贸n de Carlos Vargas. Un solo detalle: no se puede tener una 煤nica Cm2Pix porque las resoluciones verticales y horizontales son diferentes. Cero que debe estar diferenciada Cm2PixH y Cm2PixV.

Saludos,

Carlos

Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
鈥淚f you think education is expensive, try ignorance"
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Tue May 29, 2007 10:20 AM

Antonio,

He aplicado la correci贸n de Carlos Vargas a todas las impresiones y salen perfectas. Eso incluye a 3 impresoras laser y un Pdf generado con PdfCreator.

Mi recomendaci贸n para el parche al m茅todo Cmtr2Pix.

Saludos,

Carlos.

Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
鈥淚f you think education is expensive, try ignorance"
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Tue May 29, 2007 04:30 PM

Carlos me alegro de que te sirviera, me podria explicar con mas detalle
los de la resolucion :-)

es que ando un poco atontado estos dias :-)

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Tue May 29, 2007 04:51 PM

Carlos
Ya, entendi :-)

Podrias mostrar la modificacion que has hecho?

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Tue May 29, 2007 11:15 PM
Carlos

驴C贸mo aplicaste las correcciones de Carlos Vargas? 驴Puedes compartir tu c贸digo con estos "inform谩ticos"?

Saludos

Carlos Mora wrote:Antonio,

He aplicado la correci贸n de Carlos Vargas a todas las impresiones y salen *perfectas*. Eso incluye a 3 impresoras laser y un Pdf generado con PdfCreator.

Mi recomendaci贸n para el parche al m茅todo Cmtr2Pix.

Saludos,

Carlos.
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicaci贸n via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Wed May 30, 2007 08:11 AM
Hola gente,

no he modificado la clase tprinter, sino que he calculado las constantes necesarias para transformar cent铆metros a pixeles, he cambiado los :CmSay por :Says y en el c谩lculo de dimensiones de los bitmaps que est谩n en cent铆metros, multiplico todo por las constantes.
      nKY:= Cm2PixY(oPrint, 1.0)
      nKX:= Cm2PixX(oPrint, 1.0)
      oPrint:SayBitmap( 0, 0, "fondo.bmp", nKX * 21, nKY * 29.7 )
      oPrint:Say( nKY* 7.4, nKX* 4.0, cNombre, oFont )
      oPrint:Say( nKY*10.1, nKX* 4.0, cDatReg, oFont )
      oPrint:Say( nKY*12.7, nKX* 5.0, Empresas->CIF, oFont )
      oPrint:Say( nKY*12.7, nKX*13.7, Str( Year( Empresas->Fecha ), 4 ), oFont )

STATIC FUNCTION Cm2PixX( Self, nCm )
RETURN nCm * 10 * ::nHorzRes() / ::nHorzSize()

STATIC FUNCTION Cm2PixY( Self, nCm )
RETURN nCm * 10 * ::nVertRes() / ::nVertSize()


Creo que el c贸digo es bastante claro y sencillo. Si se analiza los valores de resolucion y tama帽o para varias impresoras se ven diferencias sutiles, pero por lo visto son significativas.

Si alguien hace experiencias con el tema ser铆a importante que las comparta, a ver si podemos dar una solucion definitiva del tema.

Carlos.
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
鈥淚f you think education is expensive, try ignorance"
Posts: 581
Joined: Tue Oct 11, 2005 11:28 AM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Wed May 30, 2007 01:43 PM

Hola Carlos Mora,

Una luz en el fin del tunel!!! Gracias por compartir tus experiencias. Voy a hacer algunos testes cambiando la TPrinter con lo que pusiste aca y si tengo algo positivo, les comento. Creo que esto es MUY importante para nosotros que tenemos clientes con distinctas impresoras, usando nuestros reportes hechos en TReport o Tprinter.

Saludos

Kleyber Derick



FWH / xHb / xDevStudio / SQLLIB
Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Wed May 30, 2007 03:18 PM
Hola Kleyber

Si las pruebas te salieran bien, sugiero que los compartas con el foro para ver si todos efect煤an los ajustes a la clase tprinter y no tengamos que estar haciendo pruebas seg煤n las impresoras de los usuarios.

Saludos

Kleyber wrote:Hola Carlos Mora,

Una luz en el fin del tunel!!! Gracias por compartir tus experiencias. Voy a hacer algunos testes cambiando la TPrinter con lo que pusiste aca y si tengo algo positivo, les comento. Creo que esto es MUY importante para nosotros que tenemos clientes con distinctas impresoras, usando nuestros reportes hechos en TReport o Tprinter.

Saludos
FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicaci贸n via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Wed May 30, 2007 05:22 PM

companeros

Hoy mismo en la tarde le doy una miradita para ver que se pude hacer.

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 989
Joined: Thu Nov 24, 2005 03:01 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Thu May 31, 2007 08:52 AM
Carlos,

Hay un detalle que tu s铆 aplicas, que es la correcci贸n con nXOffset, y que yo no la apliqu茅.
La funci贸n, tal como la puse, transforma de manera correcta cm. a pixels, pero no a coordenadas, que es diferente. Por ejemplo tu funci贸n no la podr铆a usar para calcular el tama帽o en pixels de una imagen, porque en ese caso las dimensiones no deber铆an verse afectadas por el nXOffset. No s茅 si he sido claro, pero creo que con esto vamos a poder homogeneizar las impresiones.
Te reitero que consideres diferenciar en el c谩lculo cuando las coordenadas son verticales u horizontales, ya que si tenemos diferente resoluci贸n en cada direcci贸n saldr铆a mal en sentido vertical.

Por cierto, el usar pixels para dise帽ar no parece muy apropiado dado que esas unidades son relativas, cambian de impresora a impresora. Lo que he visto en muchas librer铆as es el uso del twip como unidad de medida. En la clase hay un m茅todo para seleccionar twip como unidad de medida.
Es la unidad de medida por defecto en VB y Delphi.

http://en.wikipedia.org/wiki/Twip
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
鈥淚f you think education is expensive, try ignorance"
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Fri Jun 01, 2007 02:32 PM

Ok,
Carlos, Kleyber

lamentablemente se me ha complicado la semana :-( pero este fin de semana tendre que trabajar sobre esto, ya que me es urgente :-)

tomare en cuenta sus puntos.

ok, incluso tengo un metodo par ala impresion de bitmap, que como tu indicas tendre que revisar, lo del offset lo checare tambien.

una pregunta que es offset?
ya que lo estaba intentando aplicarlo, pero no estoy muy seguro sobre lo que hace.
(lo que comprendo es que es una especie de correccion)

salu2
carlos vargas

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 581
Joined: Tue Oct 11, 2005 11:28 AM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Fri Jun 01, 2007 04:00 PM
Armando,
Si las pruebas te salieran bien, sugiero que los compartas con el foro para ver si todos efect煤an los ajustes a la clase tprinter y no tengamos que estar haciendo pruebas seg煤n las impresoras de los usuarios.


Claro que si. Asi que tengas los resultados, envio para ustedes lo que tengo y tambien para Antonio Linares, para que se pueda arreglar en las nuevas versiones de FWH. :-)

Carlos Vargas,
lamentablemente se me ha complicado la semana pero este fin de semana tendre que trabajar sobre esto, ya que me es urgente


Sin problemas, mi amigo. Si te puedo ayudar, estoy en el MSN.

Saludos,
Kleyber Derick



FWH / xHb / xDevStudio / SQLLIB
Posts: 6
Joined: Sun Jan 29, 2006 07:43 PM
Resoluciones de las impresoras X TReport/TPrinter
Posted: Sat Jun 02, 2007 08:43 PM
carlos vargas wrote:Ok,
una pregunta que es offset?
ya que lo estaba intentando aplicarlo, pero no estoy muy seguro sobre lo que hace. (lo que comprendo es que es una especie de correccion)


Exacto. xXOffset y nYOffset son valores de ajuste de coordenadas, indicando la posici贸n de inicio del "viewport", es decir del area imprimible. Si revisas los valores que te devuelven los distintos par谩metros de la impresora ver谩s que, por ejemplo, teniendo configurada una hoja A4 te dice que el ancho es 198 o 202 o algo parecido. Eso es porque el viewport tiene el tama帽o *realmente* disponible. Por ello, como nosotros siempre indicamos las coordenadas referidas al borde de la hoja debemos corregir el c谩lculo restando ese valor, ya que las coordenadas 0,0 no se refieren a la esquina superior izq. sino a ese punto en particular.
Dicho esto ahora resultan obvias las correciones de coordenadas: se calcula la relaci贸n o proporcion pixels-cm, y se les aplica la correcci贸n por el offset siempre y cuando sean coordenadas. Si son dimensiones el nXOffset y nYOffset no deben aplicarse.

Espero que les haya resultado 煤til el tema. Cuenten como les fue.

Un saludo desde los Madriles,

Carlos.

Continue the discussion