Onde posso encontrar "códigos de barras de referência" para verificar a saída da biblioteca de códigos de barras?

StackOverflow https://stackoverflow.com/questions/2482630

Pergunta

Esta questão não é sobre 'melhor' código de barras Recomendação da biblioteca, usamos vários produtos em diferentes plataformas e precisamos de uma maneira simples de verificar se um determinado código de barras está correto (de acordo com sua especificação).

Encontramos casos em que um código de barras é renderizado de maneira diferente por diferentes bibliotecas de código de barras e Geradores de código de barras online grátis na internet. Por exemplo, uma nova versão de uma biblioteca de relatórios da Delphi produz caracteres não numéricos no Code128 como '0' ou simplesmente os pula na área de texto. Antes de fazer a migração, queremos verificar se essas alterações são causadas por uma implementação quebrada na nova biblioteca para que possamos relatar isso como um bug para o autor.

Nós precisamos principalmente Code128 e UCC/EAN-128 com subcodos A/B/C.

Recursos on -line que verifiquei até agora são:

Eles também mostram resultados diferentes, por exemplo, em suporte para caracteres como vírgula ou placas, pelo menos no texto legível por humanos.

Foi útil?

Solução

Para o código128, não há uma única resposta correta. Se você usar o Code128-A, poderá obter um resultado diferente do Code128-C. Por resultado, quero dizer como fica. Pegue "803150" como exemplo. No Code128-A, você precisará de 6 caracteres (+ Start, soma de verificação, parar) para representar esse número. O Code128-C consiste apenas em números, para que você possa comprimir dois dígitos em um caractere. Portanto, você precisará de apenas 3 caracteres (+ Start, Soma de verificação, Stop) para representar o mesmo número. Os códigos de barras parecerão diferentes (sendo um mais longo neste caso), mas se você escanear os dois, fornecerá o número correto.

Além disso, o Code128 não precisa ser apenas A, B ou C. Você pode realmente combinar os diferentes subconjuntos. Isso é comum para casos como "US123457890", onde o Code128-A ou B é usado em "US" e Code128-C é usado nos dígitos restantes. Em algum momento, isso é chamado de Code-128 Auto, ou apenas Code-128. O resultado é um código de barras "comprimido" em termos de largura. Você pode representar os mesmos dados com A/B, mas novamente isso lhe daria um código de barras mais longo.

Pegue dois geradores online:

Eu recomendo o primeiro, onde você pode selecionar entre o Auto/A/B/C. Aqui está um exemplo de imagem que ilustra as diferenças:

alt text

Na IDAutomation, o automóvel é padrão, enquanto A é o padrão no bar-código-Inc. Ambos estão corretos, você só precisa ter cuidado com o subconjunto que você selecionou ao comparar a saída. Eu também recomendo um leitor de código de barras para uso em desenvolvimento para testar a saída. Veja também esta página Para uma comparação dos diferentes subconjuntos com os valores ASCII. Eu também encontro Grandzebu.net Útil, que possui uma fonte Code128 gratuita que você pode usar também.

Parece que sua biblioteca Delphi sempre usa o Code128-C, pois é possível representar números nesse subconjunto.

Outras dicas

Por que não apenas digitalizá -los e ver o que volta?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top