RT
Problema de compatibilidade do Bacon Qrcode e FPDF
Bom dia!
Estou atualizando meu sistema para a nova versão do FW.
Entretanto, a nova versão com a atualização do Bacon Qrcode, utilizando a biblioteca Imagick não gera qrcodes compatíveis com o FPDF (TPDFDesigner) produzindo o seguinte erro:
Fatal error: Uncaught Exception: FPDF error: 16-bit depth not supported: tmp/barcode_1747672485.png in ...
Utilizei o modelo de código disponível no tutor, entretanto, aproveito também para informar que ele informa(no tutor) que falta a biblioteca Imagick, um bug a ser corrigido.
Link: https://framework.adianti.me//tutor/index.php?class=FormQrcodeView
Segue o trecho do codigo utilizado para gerar:
Tentei encontrar maneiras de converter o formato posteriormente mas não consegui.
Qualquer ajuda será bem vinda!
Obrigado!
Estou atualizando meu sistema para a nova versão do FW.
Entretanto, a nova versão com a atualização do Bacon Qrcode, utilizando a biblioteca Imagick não gera qrcodes compatíveis com o FPDF (TPDFDesigner) produzindo o seguinte erro:
Fatal error: Uncaught Exception: FPDF error: 16-bit depth not supported: tmp/barcode_1747672485.png in ...
Utilizei o modelo de código disponível no tutor, entretanto, aproveito também para informar que ele informa(no tutor) que falta a biblioteca Imagick, um bug a ser corrigido.
Link: https://framework.adianti.me//tutor/index.php?class=FormQrcodeView
Segue o trecho do codigo utilizado para gerar:
$conteudo_barcode = '79204415301';
$rand = mt_rand(1000000000, 1999999999);
$output = "tmp/barcode_{$rand}.png";
$backend = new BaconQrCode\Renderer\Image\ImagickImageBackEnd;
$renderer = new \BaconQrCode\Renderer\ImageRenderer(
new \BaconQrCode\Renderer\RendererStyle\RendererStyle(100), $backend
);
$writer = new \BaconQrCode\Writer($renderer);
$writer->writeFile($conteudo_barcode, $output);
Tentei encontrar maneiras de converter o formato posteriormente mas não consegui.
Qualquer ajuda será bem vinda!
Obrigado!
Editado 23/03/2023 (há 1 ano) - Clique para ver alterações
Dentro da classe AdiantiBarcodeDocumentGenerator tem o código abaixo:
Não testei, mas veja se alterando para "png8" resolve o seu problema.
Só pra mencionar, executei esse exemplo do tutor em ambiente local e funcionou certinho, sem precisar alterar nada...
Bom dia !
Infelizmente, o modelo do template usando no FDPF realmente não funcionou. Entretanto, com a alteração sugerida, funcionou corretamente.
Também testei uma outra funcionalidade que seria converter o png para jpg e tb funcionou!
Vou aproveitar para deixar o código para quem possa interessar.
Muito obrigado Nataniel!
<codigo>
public function png2jpg($originalFile, $outputFile, $quality) {
$image = imagecreatefrompng($originalFile);
imagejpeg($image, $outputFile, $quality);
imagedestroy($image);
}
</codigo>