É possível nos depararmos com a necessidade de implementar código de barra numa aplicação, podendo ser por diversos motivos, por exemplo na criação de boletos, para produtos ou identificadores.
O Zend Framework 2 dispõem de um poderoso componente Zenb\Barcode\Barcode que nos auxilia na execução desta tarefa, de forma simples e rápida. Vale lembrar que existem diversos tipos de códigos de barras e cada um tem sua regra a ser seguida para compor de forma correta o barcode. Sendo assim deve-se levar em consideração o tipo de código de barra que deseja criar em sua aplicação.
Para implementarmos um exemplo prático vou utilizar o skeleton appliation default do Zf2. Vou subentender que você já conhece o processo de clone do skeleton e instalação.
Caso não conheça:
Para utilizar o componente Zend\Barcode\Barcode a extensão GD deve estar habilitado
Primeiro passo vamos limpar a view padrão index, para renderizarmos nosso barcode.
Vamos implementar nossa estrutura no arquivo Application\Controller\IndexController.
Ao abrir o arquivo IndexController ele estará desta maneira.
Primeiro passo vamos importar o componente para o nosso controller controlle.
O componente Zend\Barcode\Barcode, é uma classe abstrata ou seja não pode ser instanciada, com isso vamos fazer uso direto em nosso método.
O componente Barcode é composto por 5 parâmetros sendo eles:
Primeiro parâmetro (required) nome do tipo do código de barras, estando disponível:
- codabar
- codabar
- code128
- code25
- code25interleaved
- code39
- ean13
- ean2
- ean5
- ean8
- error
- identcode
- itf14
- leitcode
- planet
- postnet
- royalmail
- upca
- upce
Segundo parâmetro (required) nome do render, estando disponíveis
- image
- PDF (necessita do ZendPDF)
- svg
Terceiro parâmetro (optional) parâmetros do barcode.
Quarto parâmetro (optional) parâmetros do render.
Quinto parâmetro (optional) render Errors, default TRUE para exibir.
Vamos criar uma variável com para armazenar as opçẽos do barcode.
O texto que estamos passando como parâmetro, será o mesmo impresso no código de barras. Ou seja o valor desejado para compor o códido de barras deve ser informado conforme o tipo de barcode que será implementado.
Vamos criar uma variável para passar os parâmetros do render, podemos passar um array vazio, pois como vimos anteriormente ele é um parâmetro opcional, ou podemos por exempl definir o tipo de imagem que desejamos que o barcode seja criado.
Vamos criar uma variável chamada $barcodeImg, e armazenarmos a estrutura que irá criar o nosso barcode. Como primeiro parâmtro eu defini que será utilizado o tipo de barcode chamado “codabar”__, e o segundo parâmetro eu determino que dever ser criado no formato _“image”
Agora basta passar a variável $barcodeImg para nossa ViewModel.
Vamos incluir a estrutura pra exibir o nosso código de barras na view index.phtml.
Com isso teremos como retorno uma imagem no formato “jpeg” do nosso barcode.
Viram como é extremamente fácil criar um barcode com o componente Zend\Barcode\Barcode. Claro que nossa implementação foi grosseira e construímos tudo no nosso controller, porem agora que sabemos como implementar basta construir toda sua regra de negócio e somente consumir o resultado no controller.
Abaixo temos alguns outros exemplos de barcode.
Code25
Code25interleaved
code128
Foi criado um repositório no Github contendo os códigos implementados neste post.
Bom é isso ai pessoal espero que tenham gostado deste tutorial de como construir barcodes com o Zend Framework 2, até breve!