Pesquisar na Comunidade
Mostrando resultados para as tags ''2of5''.
Encontrado 1 registro
-
barcode font encoder Code Bar i25 (ou Visual BASIC 6 para PHP)
Juscelino Barão postou um tópico no fórum PHP
Olá pessoal! Estou com uma grande questão para resolver. Preciso usar uma fonte TTF (2of5) para gerar códigos de barras no formato 2 of 5 interleaved. O que descobri foi que se digitar 190035 numa fonte 2 of 5 interleaved ele não é interpretado 190035. Se eu digitar Ë4!DÌ ai sim ele será interpretado como 190035. Isto significa que tenho que primeiro encodar o código 190035 para poder usar na fonte 2 of 5 interleaved. Veja no exemplo na imagem abaixo: Então essa é a questão: encodar uma string para que possa usar numa fonte 2 of 5 interleaved. Outros programas instaláveis dá pra ver esse 'encodamento' primeiro para depois gerar o código. Exemplo na segunda imagem abaixo: O problema é: qual fórmula usar? Descobri um site que contém um .EXE para gerar códigos de barras no formato 2 of 5 interleaved e que também disponibiliza um código em Visual BASIC 6. Link da página baixo: https://grandzebu.net/informatique/codbar-en/code25I.htm Eu pensei em usar a formula matemática descrita no código para gerá-la em php, só que não entendo nada de VB. Alguém poderia me ajudar? CÓDIGO VB6 DO SITE GRANDZEBU: Public Function Code25I$(chaine$, Optional key As Boolean) 'V 2.0.0 'Parametres : * une chaine ' * un drapeau vrai si une cle doit etre ajoutee 'Parameters : * a string ' * a flag true if a key must be added 'Retour : * une chaine qui, affichee avec la police CODE25I.TTF, donne le code barre ' * une chaine vide si parametre fourni incorrect 'Return : * a string which give the bar code when it is dispayed with CODE25I.TTF font ' * an empty string if the supplied parameter is no good Dim i%, checksum&, dummy% Code25I$ = "" If Len(chaine$) > 0 Then 'Verifier si caracteres valides 'Check for valid characters For i% = 1 To Len(chaine$) If Asc(Mid$(chaine$, i%, 1)) < 48 Or Asc(Mid$(chaine$, i%, 1)) > 57 Then Exit Function Next 'Ajouter si necessaire la cle 'Add if necessary the checksum If key Then For i% = Len(chaine$) To 1 Step -2 checksum& = checksum& + Val(Mid$(chaine$, i%, 1)) Next checksum& = checksum& * 3 For i% = Len(chaine$) - 1 To 1 Step -2 checksum& = checksum& + Val(Mid$(chaine$, i%, 1)) Next chaine$ = chaine$ & (10 - checksum& Mod 10) Mod 10 End If 'Verifier si la longueur est paire 'Check if the length is odd If Len(chaine$) \ 2 <> Len(chaine$) / 2 Then Exit Function 'Calculer la chaine de code 'Calculation of the code string For i% = 1 To Len(chaine$) Step 2 dummy% = Val(Mid$(chaine$, i%, 2)) dummy% = IIf(dummy% < 94, dummy% + 33, dummy% + 101) Code25I$ = Code25I$ & Chr$(dummy%) Next 'Ajoute START et STOP / Add START and STOP Code25I$ = Chr$(201) & Code25I$ & Chr$(202) End If End Function Alguém pode me dar uma força para entender esse código e assim montar o que preciso? Obrigado pela atenção.