mPDF 5.7.1 – изображение отображается как сломанный

У меня небольшая проблема с mPDF (версия 5.7.1).

Этот код должен генерировать PDF с файлом изображения:

$mpdf = new mPDF(); $html = '<img src="http://img.ruphp.com/php/logo11w.png"/>'; $mpdf->WriteHTML($html); $mpdf->debug = true; $output = $mpdf->Output(); exit(); 

Ну, нет изображения, кроме [x] .

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

Единственное, что я не пробовал, это <img src="logo11w.png"> и копирование изображения в папку, потому что я не знаю, в какую папку я должен скопировать файл logo11w.png .

Какие-либо предложения?

Related of "mPDF 5.7.1 – изображение отображается как сломанный"

У меня была та же проблема, что и изображения PNG, отображаемые как [X] при создании PDF-файлов с помощью mPDF.

Я добавил: $mpdf->showImageErrors = true;

После: $mpdf = new Mpdf();

и получил сообщение об ошибке:

Библиотека GD, необходимая для изображения PNG (альфа-канал) #

Поэтому после запуска apt-get install php5-gd создающий PDF с PNG, работал как шарм!

Включение изображений довольно сложно в mPDF. У меня были некоторые проблемы. Я нашел больше проблем.

Сначала вы должны включить отладочную переменную:

 $mpdf = new mPDF(); $mpdf->showImageErrors = true; 

Обычно у людей нет модуля GD для PHP. На машине linux выполните:

 sudo apt-get install php5-gd sudo service apache2 restart 

На серверах Windows php_gd2.dll входит в стандартную установку PHP, но по умолчанию не включен. Чтобы включить его, раскомментируйте строку extension = php_gd2.dll в файле php.ini (удалите # с начала этой строки) и перезапустите расширение PHP. [ 1 ]

Если вы получите эту ошибку, вы, вероятно, увидите изображение [x]:

Ошибка mPDF: Ошибка IMAGE ( http://img.ruphp.com/php/image.jpg ): Не удалось найти файл изображения

Проверьте URL-адрес, если ваше изображение существует, и если изображение доступно. Если да, то вы можете попытаться изменить абсолютный URL на относительный. Вы можете попробовать обе версии:

 <img src="directory/image.jpg"> <img src="./directory/image.jpg"> 

На самом деле у меня также была проблема с форматами PNG. Преобразованное изображение PNG в JPG отлично работало.

Связывание в шаблонах mPDF должно быть таким же, как и для всей вашей рамки / системы.

ОК. После последнего комментария по вопросу (14:30). Здесь тот же самый код, который работает с mPDF 5.4. И это сохраняет его вывод в каталоге скриптов как test.pdf. Проблемы с межсетевым экраном?

отредактированный

У меня есть следующие каталоги / файлы:

  • изображений
    • wallpaper01.jpg
    • wallpaper02.jpg
  • index.php (исходный код)

Таким образом, эти файлы изображений относительно начинаются с каталога сценариев, как это выглядит.

 require_once __DIR__ . DIRECTORY_SEPARATOR . 'MPDF/mpdf.php'; try { $mpdf = new mPDF(); $mpdf->WriteHTML('<img src="images/wallpaper01.jpg" alt="" width="480">'); $mpdf->WriteHTML('<img src="images/wallpaper02.jpg" alt="" width="480">'); $mpdf->Output(__DIR__ . DIRECTORY_SEPARATOR . 'test.pdf', 'F'); } catch(Exception $e) { echo $e; } 

Полностью рабочий пример (скачать)

После миграции скрипта я столкнулся с такой же проблемой.

Проблема заключалась в том, что каталог tmp внутри папки mpdf не был доступен для записи. Надеюсь, это поможет кому-то.

Для меня он работает на данный момент. Надеюсь, это поможет кому-то.

Решение. Попробуйте относительный путь изображения вместо URL. Изображение должно размещаться на одном сервере.

Пример: /var/www/mysite/image/xyz.jpg

изменить для удаления второй строки перед инициализацией $ html ее неопределенной в то время. новый код будет таким же

 $mpdf = new mPDF(); $html= "<img src='http://img.ruphp.com/php/logo11w.png' alt=''>"; $mpdf->WriteHTML($html); $mpdf->debug = true; $output = $mpdf->Output(); exit();