HTML — PHP Content-Type не отображает изображение штрих-кода

Я пытаюсь сгенерировать штрих-код, используя http://www.barcodebakery.com но мой сценарий не отображает изображение штрих-кода. Вот мой код:

<?php

require_once('../barcodegen/class/BCGFontFile.php');
require_once('../barcodegen/class/BCGColor.php');
require_once('../barcodegen/class/BCGDrawing.php');
require_once('../barcodegen/class/BCGcode128.barcode.php');


//$font = new BCGFontFile('./barcodegen/class/font/Arial.ttf', 18);
$color_black = new BCGColor(0, 0, 0);
$color_white = new BCGColor(255, 255, 255);

// Barcode Part
$code = new BCGcode128();
$code->setScale(2);
$code->setThickness(30);
$code->setForegroundColor($color_black);
$code->setBackgroundColor($color_white);
//$code->setFont($font);
$code->setStart(NULL);
$code->setTilde(true);
$code->parse('123456');

// Drawing Part
$drawing = new BCGDrawing('', $color_white);
$drawing->setBarcode($code);
$drawing->draw();


header('Content-Type: image/png');

$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);

?>

Есть ли что-то, что мне не хватает?
когда я печатаю $ Drawing, я получаю значение ‰PNG IHDRÊO%zÍ”LtEXtCopyrightGenerated with Barcode Generator for PHP http://www.barcodephp.comYp¸³IDATxœíØÑnƒ †QXöþ¯Ì.LQa¶ÝŸ.圫q2óµtZk¥”Zëþóf9Ïìö瞎ίx>«ŸÓ›¯áþÚæW¼sîÿæù ïßáùÌÑ çwr4çÑ¿ñëòð'äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼’Aò"H^É‹ y$/‚äE¼ª­µw¯e÷"H^É‹ y$/‚äEÐ÷»ð¯ÕZK)ço7Ûø¦?Ú_ž¸»×С•Ãxkm«gŸÖ-ËgÕkóýi>rçÐ"V8Žg£íç~+Ú*‹çu( ÖZëcÛùeC{”‹·U÷Ú_’ž3ÚŸ¼{íì^/;©³µöÄvøaÖÍkô’þܹ\ZúáØ{½­m¯úuÚR–Þº_ú Fÿ3Ž*¼<ºò½Ý,iŽýb>ÌžúIEND®B`

но заголовок (‘Content-Type: image / png’) не отображает какое-либо изображение, а просто маленький значок.

2

Решение

Ваш код должен работать, как следует из примеров из Гид пользователя.

Почему вы пытаетесь напечатать $drawing? Просто откройте страницу в вашем браузере, и вы должны увидеть сгенерированный штрих-код. Как они объясняют

Если вы указали имя файла ранее, изображение будет сохранено в этом файле, в противном случае оно будет отображаться.

Так что, если вы хотите, чтобы оно где-то было сохранено, просто добавьте имя файла, когда это необходимо.

$drawing = new BCGDrawing('/route/to/your/file.png', $colorBack);
1

Другие решения

Других решений пока нет …