Codigo de Barras y tUtilPrn

Codigo de Barras y tUtilPrn

Postby caducca » Fri Feb 23, 2018 9:47 pm

Hola grupo:
Estoy tratando de imprimir una boleta y utilizo la clase tUtilPrn, todo bien hasta ahí, pero quiero agregarle un código de barras y no se como hacerlo con esta clase.
Lo hago de la siguiente forma:

@ xStep,yStep code128 oDBCheq:NroCom of oPr SIZE 1 mode 'A' //

pero a distintas impresoras sale en distintas posiciones.
Se puede imprimir con la clase tUtilPrn los códigos de barras?
O que otra alternativa debo usar para que salga igual sin depender de la impresora.
Gracias
caducca
 
Posts: 104
Joined: Wed Mar 08, 2006 2:24 pm

Re: Codigo de Barras y tUtilPrn

Postby caducca » Sat Feb 24, 2018 4:33 pm

Lo solucione instalando el font code128 y usando de la siguiente manera:

Define Font oFC128   name 'CODE 128'        size 0,-14 of oPr
UTILPRN oUtils nLinea,nColum+12   SAY oDBCheq:Barra  FONT oFC128

La única contra de esto es que se debe instalar en cada maquina del cliente dicho font.
Espero les sirva.
Saludos
caducca
 
Posts: 104
Joined: Wed Mar 08, 2006 2:24 pm

Re: Codigo de Barras y tUtilPrn

Postby caducca » Mon Feb 26, 2018 12:49 pm

Me apure en contestar, si me imprime bien , pero el lector de código de barras no lee lo que imprimo.
Alguno puede saber porque?
Gracias
caducca
 
Posts: 104
Joined: Wed Mar 08, 2006 2:24 pm

Re: Codigo de Barras y tUtilPrn

Postby cnavarro » Mon Feb 26, 2018 1:35 pm

Para imprimir codigos de barra, tienes varias soluciones:
- Busca hbzebra en el foro
- Barlib de Cayetano, yo la he utilizado mucho
viewtopic.php?f=6&t=29669&p=189486&hilit=codebar#p167720
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Codigo de Barras y tUtilPrn

Postby leandro » Mon Feb 26, 2018 2:45 pm

Hola buenos días

A mi alguna vez me sucedió algo similar, lo solucione colocando un asterisco al inicio y al final del código de barras.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1688
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Codigo de Barras y tUtilPrn

Postby cmsoft » Mon Feb 26, 2018 9:02 pm

Estimado Caducca:
Una solucion puede ser la siguiente
Code: Select all  Expand view  RUN

AddFontResource( "i2of5txt.ttf" ) // Este es el nombre de la fuente de tu codigo de barra, yo uso esta para interleave 2 de 5
// Lo bueno de usar addfontresourse es que no tiene que estar instalada la fuente, solo debes distribuirla con tu programa.
nIndX := oPrn:nVertRes() / 7016  // Aca simplemente ajusto segun la definicion de la impresora
nIndY := oPrn:nHorzRes() / 4958
DEFINE FONT oFont4 NAME "Interleaved 2of5 Text"    SIZE 25*nIndX, 170*nIndY
PRINT oPrn NAME "Ejemplo" PREVIEW
         PAGE
            oPrn:Say(100*nIndX - (nRow*6),100*nIndY , CodigoBarra(STRTRAN(STR(nCodbar,12)," ","0")),oFont4)
         ENDPAGE
ENDPRINT

STATIC FUNCTION CodigoBarra( x )
LOCAL i, bar := {}, j := 0, bar1 := {}, cBarr := ""
// Para este tipo de font, toma de a pares y los representa con los caracteres desde el 48 al 97 y del 192 al 241
FOR i := 48 TO 97
       AADD(bar ,CHR(i))
       AADD(bar1,STRTRAN(STR(j,2)," ","0"))
       j++
NEXT i
FOR i := 192 TO 241
       AADD(bar,CHR(i))
       AADD(bar1,STRTRAN(STR(j,2)," ","0"))
       j++
NEXT i
// Aca recorro el string que le paso de a dos y voy armando el codigo que lo representa
FOR j := 1 TO LEN(x)-1 STEP 2
    i := ASCAN(bar1,SUBSTR(x,j,2))
    cBarr := cBarr + bar[i]
NEXT j
// En el caso de este font, para que el lector de codigos de barra lo lea, el inicio y cierre del codigo de barra esta determinado por parentesis, asi que se los agrego
RETURN "("+cBarr+")"
 

Espero te sirva el dato, cualquier duda a tu disposicion.
Saludos
User avatar
cmsoft
 
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Codigo de Barras y tUtilPrn

Postby oliveiros junior » Wed Feb 28, 2018 1:02 pm

Olá,

Utilizo a TImprime e a UtilPrn, ótimas classes. Para gerar código de barras com elas e a barlib do caetano, faço assim:

::Salto()
aCoord := ::oPrn:Cmtr2Pix( ::nLinea, 1.00 )

INT25( aCoord[ 1 ], aCoord[2], AllTrim( cCodigo_Barra ), ::oPrn, .F., 0, .T., 0.30, 1.20 )

*---------------------------------------------------------------------------------------------------------------*
INT25, intercalado 2 de 5 para boleto bancário e funciona bem.
Qualquer coisa manda teu e-mail que te passo um exemplo completo.

Att.,

Oliveiros Junior
oliveiros junior
 
Posts: 125
Joined: Tue Mar 20, 2007 3:13 pm

Re: Codigo de Barras y tUtilPrn

Postby caducca » Wed Feb 28, 2018 3:11 pm

Gracias a todos. Solucione con la forma que me indico oliveiros junior porque me resulto la mas fácil de implementar.
Gracias
caducca
 
Posts: 104
Joined: Wed Mar 08, 2006 2:24 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 27 guests