FPDF и изображение из URL - PullRequest
       8

FPDF и изображение из URL

0 голосов
/ 24 августа 2018

Я использую FPDF для создания PDF из данных базы данных. Мне нужно поставить изображение в конце, но оно не поддерживается.
Я получаю изображение из php-файла, который генерирует изображение из кода следующим образом:

http://server/ean13.php?code=1234567890123

Обычно я помещаю этот URL в тег <img>, но он не работает с FPDF.

Это код:

$pdf = new PDF(); //PDF Class extends FPDF
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
$pdf->Cell(0,10,'Test line',0,1);
$pdf->Image('ean13.php?code=1234567890123',10,6,30); //not work
$pdf->Output();

В ean13.php изображение генерируется функцией imagepng() для отображения штрих-кода.

Я тоже пробовал с file_get_contents, но тоже самое.

Просто чтобы добавить другой пример, если на странице, которую я поставил <img src="ean13.php?code=1234567890123" />, это работает

1 Ответ

0 голосов
/ 24 августа 2018

Вы используете относительный URL, который ничего не значит в контексте сервера, на котором работает ваш скрипт.

Относительные URL работают в браузере, потому что они фактически загрузили текущую страницу, используя некоторый URL, например http://example.com/some/path/index.php. Из-за этого, когда вы присваиваете изображению относительный URL, например, ean13.php, оно на самом деле знает, что должно вызвать http://example.com/some/path/ean13.php на сервере.

Но сценарий на сервере не имеет этого контекста. Он просто попытается загрузить эту строку как файл, фактически не выполняя код в ean13.php.

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

Насколько я знаю (или могу сказать в документации ), к сожалению, нет способа загрузить изображение из потока, строки или другого представления изображения в памяти. Это либо файл, либо (полный) URL.

...