Olá Roni,
Recentemente também estava precisando de umas fontes para código de barras
padrão FEBRABAM, encontrei algumas fontes de Licensa GNU, mas não são true
type, vc irá precisar dee um programa da Adobe Type Manager (free assim como
Acrobat Reader) para poder intstalar as fontes corretamente.
O link para as fontes é http://www.tdb.uu.se/~jan/barfonts/barfonts-1.0.zip
e para Adobe Type Manager é http://www.adobe.com/products/atmlight/download.htm
Este dois arquivos "Ai______.pfb e Ai______.pfm" são as fontes 2 de 5
intercalado que é o padrão usado pela FEBRABAM, as fontes funcionam
perfeitamente, pois já estou imprimindo boletos através do Crystal 8 com elas
que já estão sendo pagos. O único porém é que vc precisa criar um método
para fazer a decodificação dos digitos para a fonte poder interpretá-los, junto
com as fontes vem todas essas explicações e um exemplo de como fazer essa
decodificação em VBScript E Pearl. Eu criei uma dll no VB para poder usá-las com o Crystal, estou lhe enviando
o fonte como anexo.
Espero ter ajudado.
Abraços
Atenciosamente,
Cristiano José da Silva "A mente que se abre a uma nova idéia
jamais volta ao seu tamanho
original."
(Albert Einstein)
|
VERSION 1.0 CLASS BEGIN MultiUse = -1 'True Persistable = 0 'NotPersistable DataBindingBehavior = 0 'vbNone DataSourceBehavior = 0 'vbNone MTSTransactionMode = 0 'NotAnMTSObject END Attribute VB_Name = "Intercalado" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True 'Desenvolvido por Cristiano 12/11/2002
Option Explicit Private strSaida As String Private strCodBarras As String Private strAux As String Private strChar As Long Private intContador As Integer 'Função geradora da decodificação para geração de código de barras 'padrão 2 de 5 intercalado usando fonte de código aberto Public Function Gnu_2_de_5(ByRef strEntradaGnu As String) As String ' Incializa variáveis de entrada e saída strSaida = "" strEntradaGnu = Trim(strEntradaGnu) ' Somente faz se valor for numérico strAux = "" For intContador = 1 To Len(strEntradaGnu) If IsNumeric(Mid(strEntradaGnu, intContador, 1)) Then strAux = strAux & Mid(strEntradaGnu, intContador, 1) End If Next ' Se o número de dígitos for impar adicona zero inicial If (Len(strAux) Mod 2) = 1 Then strAux = "0" & strAux End If ' Quebra os pares de dígitos e converte para único caracter ASCII e monta a cadeia de saída For intContador = 1 To Len(strAux) Step 2 'Quebra os pares de dígitos e pega o valor strChar = Mid(strAux, intContador, 2) ' Converte para único caracter ASCII e salva em strSaida If strChar < 95 Then strSaida = strSaida & Chr(strChar + 32) Else strSaida = strSaida & Chr(strChar + 97) End If Next 'Constrói cadeia de saída, adicona caracteres de inicio e fim strCodBarras = Chr(197) & strSaida & Chr(198) 'Retorna o valor Gnu_2_de_5 = strCodBarras End Function
------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------