Introdução
Hoje quero compartilhar com vocês uma lib open source que eu mesmo desenvolvi. Essa lib foi feita para facilitar a tarefa de impressão de etiquetas usando a lib do mPDF para fazer a impressão em PDF e o PHPPimaco para abstrair a formatação das etiquetas, fazendo com que você só se preocupe com o conteúdo e deixa a lib com o formato e dimensões das etiquetas.
Como as etiquetas existem em diversas medidas e formatos, a lib é especializada nas etiquetas da marca Pimaco, a mesma marca das famosas canetas BIC. Na lib existe uma quantidade de formatos padronizados pela Pimaco já configurados. Provavelmente o código da etiqueta que você precise já está na lib.
Vamos por a mão no código.
PHP Pimaco
Para fazer a instalação vamos precisar do composer:
composer require proner/phppimaco
Ou adicione isso ao require do seu composer.json:
"require":{
"proner/phppimaco": "dev-master"
}
Para fazer a nossa primeira impressão vamos usar o exemplo abaixo:
<?php
require_once __DIR__ . "/vendor/autoload.php";
use Proner\PhpPimaco\Pimaco;
use Proner\PhpPimaco\Tag;
$pimaco = new Pimaco('6182');
$tag = new Tag();
$tag->p("Etiqueta 1");
$tag->setBorder(0.1);
$pimaco->addTag($tag);
$tag = new Tag();
$tag->p("Etiqueta 2");
$tag->setBorder(0.1);
$pimaco->addTag($tag);
$pimaco->output();
A primeira coisa que precisamos instanciar é a classe Pimaco, passando o código presente na sua embalagem de etiquetas da Pimaco. Exemplo: 6182. A classe Tag é para cada etiqueta que precisarmos.
Com esse exemplo temos o seguinte retorno:
Observação: Por padrão, a maioria das etiquetas não possui bordas, mas foi usado o método setBorder da classe Tag para melhorar a visualização do exemplo.
Viu como foi fácil? Com poucos códigos criamos duas etiquetas e só foi preciso nos preocupar com o conteúdo delas. Todo o layout do documento e da etiqueta está por responsabilidade da classe PHPPimaco.
Agora vamos para uma exemplo mais complexo.
<?php
require_once __DIR__ . "/vendor/autoload.php";
use Proner\PhpPimaco\Pimaco;
use Proner\PhpPimaco\Tag;
$pimaco = new Pimaco('6182');
$tag = new Tag();
$tag->setPadding(3);
$tag->img("https://diogobemfica.com.br/wp-content/uploads/2018/10/logo.png")->setHeight(20)->setAlign('right');
$tag->setBorder(0.1);
$tag->barcode('0001', 'TYPE_CODE_128')->setWidth(2.2)->setMargin(array(0,2,1,0))->br();
$tag->p('0001 - Produto de Teste 1')->setSize(3)->br();
$tag->p('R$: 9,90')->b()->setSize(5);
$pimaco->addTag($tag);
$tag = new Tag();
$tag->setPadding(3);
$tag->img("https://diogobemfica.com.br/wp-content/uploads/2018/10/logo.png")->setHeight(20)->setAlign('right');
$tag->setBorder(0.1);
$tag->barcode('0002', 'TYPE_CODE_128')->setWidth(2.2)->setMargin(array(0,2,1,0))->br();
$tag->p('0002 - Produto de Teste 2')->setSize(3)->br();
$tag->p('R$: 29,90')->b()->setSize(5);
$pimaco->addTag($tag);
$pimaco->output();
Agora temos etiquetas mais complexas.
Observação: Agora imprimimos etiquetas com imagem do logo da empresa mais um código de barras do código do produto.
Conclusão
Espero que tenha gostado desta dica rápida e que essa lib possa ajudar vocês na impressão das suas etiquetas.