November 25th, 2009 in PHP | leave a response
O Problema
Gerar arquivo pdf contendo etiquetas cujo papel não possui um tamanho padrão;
O arquivo será gerado utilizando a lib domPdf que pode ser
baixada aqui.
Como resolver
Para resolver este problema você precisa no momento de criar o seu documento passar um vetor com as configurações do papel, veja o exemplo abaixo:
require_once(SISTEMA_DIR."componente/pdf/dompdf_config.inc.php");
spl_autoload_register('DOMPDF_autoload');
$html = "O html da etiqueta";
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$papel = array(0,0,355.00,866.20);
$dompdf->set_paper($papel, 'portrait');
$dompdf->render();
$dompdf->stream("etiqueta.pdf");
return;
A função set_paper por padrão recebe uma string com o nome do papel porém olhando no código fonte eu vi que se for passado um vetor ele emula um novo papel com as informações passadas.
Vale lembrar que o tamanho deve ser informado em pontos e que para converter de mm para pp multiplique por 2.84!