Извините, я знаю, что вы получили принятый ответ.Тем не менее, похоже, что он не отвечает на ваш вопрос относительно изображения, которое НЕ на веб-уровне.
Рассматривали ли вы использование file_get_contents ();и простой рендеринг строки base_64.Таким образом, вы можете использовать изображение с любого уровня, не беспокоясь о его общедоступности.
Например:
$imageLocation = '/var/www/html/image.png';
$ext = end(explode(".", $imageLocation);
$image = base64_encode(file_get_contents($imageLocation));
$pdf->writeHTML("<img src='data:image/$ext;base64,$image'>");
Или без использования анализатора HTML.Который из опыта значительно замедляет рендеринг полученного PDF, вы можете использовать:
$image = file_get_contents('/var/www/html/image.png');
$pdf->Image('@'.$image);
Редактировать
Ради полноты и в ответ Роланду.Вы, конечно, можете использовать SplFileObject.
$image = new SplFileObject('/var/www/html/image.png', 'r');
$imageContents = $image->fread($image->getSize());
$imageExtension = $image->getExtension();
$pdf->writeHTML("<img src='data:image/$imageExtension;base64,$imageContents'>");