У меня небольшая проблема с 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
.
Какие-либо предложения?
У меня была та же проблема, что и изображения 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. Проблемы с межсетевым экраном?
отредактированный
У меня есть следующие каталоги / файлы:
Таким образом, эти файлы изображений относительно начинаются с каталога сценариев, как это выглядит.
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();