Pergunta

Eu estou trabalhando em um pequeno aplicativo onde eu possa gerar uma lista de códigos de barras. Eu tenho as fontes corretas instalado no meu computador. Agora eu estou imprimindo-los diretamente para uma página web e ele funciona corretamente no Chrome e IE 7, mas não Firefox. Alguém sabe o que Firefox estaria fazendo de forma diferente do IE e Chrome?

Aqui está o meu código:

<html>
    <head>
        <title>Barcode Font Test</title>

        <style type="text/css" media="screen">
            .barcode { font-family: "wasp 39 m", verdana, calibri; font-size: 36pt; }
        </style>
    </head>

    <body>
        <div class="barcode">*574656*</div>
    </body>
</html>

EDIT: Eu provavelmente deveria ter mencionado que este é mais um projeto pessoal no momento e não se destina a ser lançado para o mundo. Enquanto eu tomarei uma solução que funciona, eu gostaria de algo que não envolve Javascript / Flash / etc.

Foi útil?

Solução

Uma solução mais simples poderia ser a de gerar imagens do lado do servidor para gerar os códigos de barras. Dessa forma, você não tem que contar com o usuário ter uma fonte instalada e você não tem para acessar a fonte no seu html.

Outras dicas

Existem vários formatos de código de barras. Alguns são simples e alguns podem ficar muito complexa. Um dos mais fáceis de usar, se ele se encaixa a sua aplicação, é o 3, de 9 de código de barras. Não é comprimido e há um 1-1 relação aos caracteres do código de barras. Existem duas variantes deste, unicamente numéricas e o conjunto estendido que inclui alfa. Eu vou para a frente com o asumption que você pode usar este formato. (A partir do seu código de exemplo, parece que é isso que você está usando) Para a aplicação mais fácil, ficar com apenas o numérico. Em seguida, você irá necessitar apenas de onze caracteres (0-9 eo astrisk). Olhe para a definição de uma fonte existente 3 de 9. (Para uso não-comercial, procurar uma fonte chamada FREE3OF9. Você pode usar isso como base para a sua aplicação ...)

Em seguida, a parte tediosa - mais trabalho para você na frente, mas exibe em quase qualquer browser. Se você não consegue encontrar qualquer on-line, crerate uma imagem GIF (BMP ou PNG ou) para cada caractere. (Lembre-se de incluir o espaço em branco apropriado no lado direito do char para distanciá-lo a partir do próximo caractere na linha!) Ele só precisa ser uma alta pixel. Quando chega a hora de exibir o código de barras, cadeia os caracteres juntos como de <IMG> que estão ao lado do outro. 3 de 9 requer que os caracteres do código de barras estão rodeados ou envolvido com um asterisco (que é o astrisk no FREE3OF9 fonte de qualquer forma) em cada extremidade. Ajuste a altura do <IMG> é algo bastante alto para se adequar ao seu impressão.

Desta forma, nenhuma instalação da fonte necessária no cliente, mas a maioria dos códigos de barras decodificadores podem ler o gráfico resultante.

Seu exemplo (*574656*) pode ter esta aparência: 574656

(bem, não exatamente assim - é um gráfico sólido, ao invés de uma composição de vários in-line gráficos simples, mas você começa a idéia)

Os gráficos individuais numéricos parecido com este: (Embora, estes não são "limpas" até o momento)

* *

0 0

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 href="https://i.stack.imgur.com/ui3Ms.png" rel="nofollow noreferrer"> 8

9 href="https://i.stack.imgur.com/neRmn.png" rel="nofollow noreferrer"> 9

e as alterações de código pode ter esta aparência:

<html>    
    <head>        
        <title>Barcode Font Test</title>        
    </head>    
    <body>   
        <img src="3o9cb_ast.png" alt="*"/>     
        <img src="3o9cb_5.png" alt="5"/>
        <img src="3o9cb_7.png" alt="7"/>
        <img src="3o9cb_4.png" alt="4"/>
        <img src="3o9cb_6.png" alt="6"/>
        <img src="3o9cb_5.png" alt="5"/>
        <img src="3o9cb_6.png" alt="6"/>
        <img src="3o9cb_ast.png" alt="*"/>
    </body>
</html>

SearchFreeFonts.com como um recurso para refrescar minha memória de como 3 de 9 caracteres de códigos de barras foram formatados . Estes gráficos são inicialmente a partir desse site.

Os desenvolvedores da Mozilla fez uma escolha para fontes de símbolos que não funciona. Você pode habilitá-los na configuração conforme descrito em Obtendo Símbolo fontes para trabalhar no Mozilla Firefox

Na empresa que estou trabalhando em agora usamos Barcode.dll de lesnikowski.com. Ele gera imagens de código de barras. Não depende se ou não a fonte é instalada no PC do cliente e trabalha com todos browser.

Espero que isso ajude.

Usando fontes não-padrão em páginas da web é um grande pé no saco. Para tornar mais fácil você pode usar sIFR ou o novo Typeface.js .

Edit: Este era válido 4 anos atrás, quando foi publicado, mas não é mais. Vou deixá-lo aqui para a posteridade, mas não tomá-lo como uma resposta correta.

Temos o mesmo problema na minha empresa. Felizmente, apenas 1-2 pessoas precisar usar as fontes de código de barras.

Nós descobrimos que quando receberam novo um PC, as fontes não trabalhar com todos os navegadores. Eles tiveram que abrir um aplicativo cliente (como o Word), escolha uma fonte de código de barras, e fazer alguma digitação para "Inicializar" essa fonte.

A melhor solução, eu acho, é criar uma imagem de código de barras no servidor sob demanda. O problema com esta solução poderia ser a limpeza de imagens antigas. Esta solução exige mais trabalho up-front, mas compensa com menos on-going problemas e manutenção do que a solução do lado do cliente, na minha opinião.

Fontes tendem a ter problemas, porque ele depende do navegador para fazer o processamento. Imagem é melhor. Eu uso Morovia Barcode Ativo Lite para criar códigos de barras a partir do IIS.

um exemplo de código de barras http://www.morovia.com/activex/active-demo/barcode.asp?Symbology=7&ShowHRText=1&NarrowBarWidth=20&BarHeight=750&Message=0+07+70007+07723

Apenas faça o seguinte: http: // davidscotttufts .com / 2009/03/31 / how-to-create-códigos de barras-em-php / David criou uma maneira super-simples de implementar códigos de barras. Você vai precisar da biblioteca GD executado em MySQL. (MAMP e LAMP já deve ter esta instalado)

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