Instalação
Artigos
Cursos
Loja
INSTALAÇÃO
ARTIGOS
CURSOS
EBOOKS
DOWNLOADS
LOJA
ARTIGOS
Códigos de barras incríveis com a biblioteca Picqer
Crie códigos de barras para impressão ou em tela
# Como gerar código de barras Sempre que precisamos criar uma nova funcionalidade para nossos sistemas, primeiro devemos procurar se não existe algo pronto a disposição. A frase clichê "não precisamos reinventar a roda" é verdadeira. Existem maneiras de gerar código de barras manualmente `PHP`, no entanto elas não suportam todos os formatos existentes e nem são fáceis de trabalhar. Por isso devemos procurar projetos prontos e validados com a funcionalidade que desejamos. Existem muitas bibliotecas prontas para resolverem nossos problemas, hoje vou mostrar como usar uma delas: - picqer gerador de código de barras
# Picqer O picqer é um gerador de código de barras, pequeno fácil de usar, independente de estruturas em `PHP`, Ele cria imagens `SVG`, `PNG`, `JPG` e `HTML`, a partir dos padrões de código de barras 1D mais usados. ## Instalação A instalação do picqer é feita com o [composer](https://getcomposer.org/). Para quem não tem composer instalado: ```r $ sudo apt-get install composer ``` Dentro do diretório desejado digite: ```r $ composer require picqer/php-barcode-generator ``` Com apenas um comando você tem o picqer instalado no seu projeto. Se você quiser gerar imagens `PNG` ou `JPG`você precisa ter instalado a biblioteca GD ou Imagick. ```r $ sudo apt-get install php-gd ``` Ou: ```r $ sudo apt-get install php-imagick ``` ## Como usar É necessário iniciar o gerador de código de barras para a saída desejada e, em seguida, chame a função `getBarcode()` quantas vezes quiser. Cada saída deve tem sua própria classe: ```php // SVG $generatorSVG = new Picqer\Barcode\BarcodeGeneratorSVG(); // PNG $generatorPNG = new Picqer\Barcode\BarcodeGeneratorPNG(); // JPG $generatorJPG = new Picqer\Barcode\BarcodeGeneratorJPG(); // HTML $generatorHTML = new Picqer\Barcode\BarcodeGeneratorHTML(); ``` Declaração e parâmetros da função `getBarcode()`: ```php /** * @param string $code código para exibir * @param string $type tipo do código de barras * @param int $widthFactor Largura de uma única barra do element em pixels * @param int $totalHeight Altura das barras em pixels * @param mixed $color cor das barras o fundo é transparente. getBarcode($code, $type, $widthFactor = 2, $totalHeight = 30, $color) ``` Exemplo de uso básico: ```php getBarcode( '081231723897', $generator::TYPE_CODE_128 ); ``` ![Bar code básico](resources/posts/picqer/images/1.png) Exemplo de um código de barras maior e com cor ```php getBarcode( '081231723897', $generator::TYPE_CODE_128, 2, 100, 'red' ); ``` ![Bar code customizado](resources/posts/picqer/images/2.png)
## Como gerar imagens com o código de barras Mudar a classe geradora para gerar imagens com o picqer, não será o suficiente, precisaremos imprimir a tag `img` para que a imagem seja exibida. Todo o código-fonte necessário para gerar um código de barras como uma imagem `PNG` pode ser conferido abaixo: ```php getBarcode('081231723897', $generator::TYPE_CODE_128); $img_base64 = base64_encode($bar_code); echo '
'; ``` ![Imagem PNG](resources/posts/picqer/images/3.png) ### Formato das cores É importante notar que dependendo do formato de saída a maneira de colorir os códigos de barras pode mudar. Por exemplo, códigos de barras nos formatos `HTML` e `SVG` recebem o parâmetro cor no formato `HEX` enquanto nos formatos `JPG` e `PNG` é esperado o formato `RGB`. Exemplo: gerar dois códigos de barras vermelhos, um em `PNG` e outro em `HTML`: ```php getBarcode( '081231723897', $generatorHTML::TYPE_CODE_128, 2, 100, 'red' ); // PNG $generatorPNG = new Picqer\Barcode\BarcodeGeneratorPNG(); $bar_code = $generatorPNG->getBarcode('081231723897', $generatorPNG::TYPE_CODE_128, 2, 30, [255,0,0]); $img_base64 = base64_encode($bar_code); echo '
'; ``` Repare que no primeiro usamos `red` para definir a cor já no segundo foi usado o formato RGB `[255,0,0]` ambos representam a cor vermelha. ### Formatos suportados O picqer funciona com diversos formatos, são eles: - TYPE_CODE_39 - TYPE_CODE_39_CHECKSUM - TYPE_CODE_39E - TYPE_CODE_39E_CHECKSUM - TYPE_CODE_93 - TYPE_STANDARD_2_5 - TYPE_STANDARD_2_5_CHECKSUM - TYPE_INTERLEAVED_2_5 - TYPE_INTERLEAVED_2_5_CHECKSUM - TYPE_CODE_128 - TYPE_CODE_128_A - TYPE_CODE_128_B - TYPE_CODE_128_C - TYPE_EAN_2 - TYPE_EAN_5 - TYPE_EAN_8 - TYPE_EAN_13 - TYPE_UPC_A - TYPE_UPC_E - TYPE_MSI - TYPE_MSI_CHECKSUM - TYPE_POSTNET - TYPE_PLANET - TYPE_RMS4CC - TYPE_KIX - TYPE_IMB - TYPE_CODABAR - TYPE_CODE_11 - TYPE_PHARMA_CODE - TYPE_PHARMA_CODE_TWO_TRACKS
COMENTE SOBRE