Estoy intentando imprimir unas credenciales, y al utilizar qimag:LoadBmp( varnum[24] ) me da correctamente en pantalla la imagen. varnum[24] tiene la dirección del archivo .JPEG
Eso no es problema, pero a la hora ed poner para imprimir, en cualqueir tipo de impresora, utilizo el siguiente codigo:
- Code: Select all Expand view
- function imprimirCredencial()
local oPrn
local fotoAfiliado := TImage(), fondo := TImage(), aTam, rec1, rec2
nRast := 8913094
if getprintdc() = 0
return .f.
endif
PRINT oPrn NAME "Imprimiendo credencial" PREVIEW modal
DEFINE FONT oFONt1 NAME 'Montserrat-black' SIZE 0, -10 of oprn
DEFINE FONT oFONt2 NAME 'Montserrat' SIZE 0, -10 of oprn
DEFINE FONT oFONt3 NAME 'Montserrat' SIZE 0, -8.8 of oprn
DEFINE FONT oFONt4 NAME 'Montserrat' SIZE 0, -6 of oprn
DEFINE FONT oFONt4b NAME 'Montserrat' SIZE 0, -6 BOLD of oprn
Define brush obrush color CLR_BLACK strech
fondo:loadbmp('fondo.bmp' )
fotoAfiliado:LoadBmp(varnum[24])
qbarQR := 123456789
hZebra := hb_zebra_create_qrcode(qbarQR,nil)
recixQR := oPrn:Cmtr2Pix(0.86,3.48)
PAGE
oPrn:SayImage(92,113,fotoAfiliado,220, 220)
oPrn:SayImage(0,0, fondo,1036, 661)
hb_zebra_draw( hZebra, {|x,y,w,h| oPRN:FillRect({recixQR[1] + Int(y+.5), recixQR[2] + Int(x+.5), recixQR[1] + Int(y+.5)+Int(h)+1, recixQR[2] + Int(x+.5)+Int(w)},oBRUSH) }, 0, 0, 6, 6 )
hb_zebra_destroy( hZebra )
//DATOS
oprn:cmsay(3.19, 0.7,"TITULAR:",oFONT3,,CLR_12) // titular
oprn:cmsay(3.1, 2.1,left(VARNUM[5],27),oFONT1,,CLR_12) // titular
oprn:cmsay(3.59, 0.72,"SOCIO N°:",oFONT3,,CLR_12)
oprn:cmsay(3.54, 2.25,ALLTRIM(STR(VARNUM[1])),oFONT2,,CLR_12) // socio
oprn:cmsay(3.995, 0.72,"C.U.I.L. N°:",oFONT3,,CLR_12)
oprn:cmsay(3.95, 2.25,ALLTRIM(TRANSFORM(VARNUM[8],'@e 99-99999999-9')),oFONT2,,CLR_12) // CUIL
//DISCLAIMER
oprn:cmsay(4.54, 0.7,"El uso de esta tarjeta es personal e intrasferible. En caso de extravío",oFONT4,,CLR_13)
/* VARIOS CMSAY MAS QUE NO TIENEN RELAVANCIA */
ENDPAGE
ENDPRINT
fondo:end()
fotoAfiliado:end()
ofont1:end()
ofont2:end()
ofont3:end()
ofont4:end()
ofont4a:end()
return nil
A su vez, el fondo veo que lo tengo en muy buena resolución y a la hora de ponerlo a imprimir baja bastante. Adjunto capturas.
Espero si puedan ayudarme, porque ya no encuentro otra solución. Puede ser porque uso el BMP del fondo con transparencias? Aun asi, abri el BMP con un editor, y sigue estando en muy buena calidad, pero a la hora de imprimir, baja considerablemente.
Muchas gracias!