DomPDF: Изображение не читается или пустое
По какой-то причине DomPDF не будет отображать изображение, включенное в анализируемый html:
Однако изображение отображается на странице, когда оно возвращается в формате html:
Я рассмотрел эти проблемы и убедился, что для DOMPDF_ENABLE_REMOTE установлено значение true и проверены права доступа к файлам:
изображение dompdf не реальное изображение не читаемое или пустое
Ошибка изображения в DOMPDF для ZF2
Существуют ли какие-либо другие вещи, которые я должен проверять?
7 answers
Следование помогло мне полюбить очарование, по крайней мере локально, и даже с
def("DOMPDF_ENABLE_REMOTE", false);
Решение состоит в том, чтобы изменить SRC изображения на абсолютный путь на сервере, например:
<img src="/var/www/domain/images/myimage.jpg" />
Для меня сработало все следующее:
<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'/placeholder.jpg';?>"/>
<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'\placeholder.jpg';?>"/>
<img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'./placeholder.jpg';?>"/>
$_SERVER["DOCUMENT_ROOT"] является C:/wamp/www/ZendSkeletonApplication/public
Хорошо У меня была та же проблема с использованием изображения:
<img id="logo" src="/images/flags/fr.png" width="50" alt="Logo">
Но если я добавлю .before/изображения, ничего не меняя в dompdf_config.custom.inc, это сработает
<img id="logo" src="./images/flags/fr.png" width="50" alt="Logo">
Надеюсь, это поможет
Поскольку был еще один ответ, в котором предлагалось включить опцию удаленного доступа в module.config.php
, и я пока не могу добавлять комментарии, я подумал, что было бы лучше ответить, что этот файл не существует в более новых версиях DomPDF.
Если вам нужно включить удаленно сохраненные изображения в более новую версию, вы должны передать ее в качестве опции конструктору:
$dompdf = new Dompdf(array('enable_remote' => true));
Это исправило проблему, которая у меня была.
В пути:
Vendor/dino/dompdf-module/config/module.config.php
Изменить настройки
Enable_remote'=>ложь,
То верно.
Сейчас (май 2018 года) правильный способ:
$options = new Options();
$options->set('isRemoteEnabled',true);
$dompdf = new Dompdf( $options );
Я решаю эту проблему, используя полный путь внешнего CSS. Этот работал на моем сервере Linux ubuntu:
<link href="{{ public_path('css/style.css') }}" />
<img src="{{ public_path('images/image.jpg') }}" />
И работайте над изображением.