2014-08-28 3 views
18

По какой-то причине, DOMPDF не будет оказывать изображение включено в HTML, который в настоящее время анализируется:DOMPDF: Изображение не читается или пустой

PDF Image missing

Однако изображение оказанной на странице, когда его возвращается как HTML:

HTML Image exists

Я смотрел на эти вопросы и должны убедиться, что DOMPDF_ENABLE_REMOTE устанавливается истинным и проверенными правами доступа к файлам:
dompdf image not real image not readable or empty
Image error in DOMPDF for ZF2

Есть ли еще какие-либо вещи, за которые я должен проверять?

+2

ли PHP настройка 'allow_url_fopen' установлен верно? Если вы используете 0.6.x, вы можете загрузить dompdf/www/setup.php, чтобы увидеть, есть ли какие-либо красные метки в вашей установке. – BrianS

ответ

37

Этими помогла мне как шарм, по крайней мере, локальный и даже с

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/общественное

Thanks to this: lost in code

+0

Спасибо, вы спасли мой день. –

+0

не работает. работа – Blauhirn

+0

Путь к файловой системе для меня работал. – FatalError

5

Ok У меня была такая же проблема с использованием изображения:

<img id="logo" src="/images/flags/fr.png" width="50" alt="Logo"> 

Но если я добавить. до/изображений, не меняя ничего в dompdf_config.custom.inc, он работает

<img id="logo" src="./images/flags/fr.png" width="50" alt="Logo"> 

Надеется, что это помогает

+3

Причина, по которой работала, заключается в том, что изначально вы ищете каталог изображений в корне. «./» просто означает «посмотреть в этом каталоге». Вы могли бы удалить «./», и он все равно будет работать. – hellaminx

+0

Не помогло. :( –

+1

вы правы. Я собирался переставить много вещей !! –

2

В пути:

поставщик/дино/dompdf-module/config/module.config.php

изменения настроек

enable_remote»=> ложные,

ТО в реальность.

+0

Для более новых версий, как вы указали этот параметр, видимо, изменилось: https://stackoverflow.com/a/45362099/405015 – thirtydot

2

Ни одно из решений здесь не работало. Вместо этого я просто base64 закодировал изображение, а затем он сработал. Вы можете использовать это tool.

+1

То же самое. Ни одно из решений не работало. последний пробовал base64 благодаря этому комментарию, и это сработало. –

3

Как еще один ответ, который предполагает включение удаленного варианта в module.config.php, и я еще не могу добавить комментарии, я подумал, что лучше всего ответить, что этот файл не существует в более новых версиях DomPDF.

Если вам необходимо включить удаленно сохраненных изображений в новой версии вы должны передать его в качестве опции в конструктор:

$dompdf = new Dompdf(array('enable_remote' => true)); 

Это исправили вопрос, который я имел.

0

Я решаю эту проблему, используя полный путь к внешнему CSS. Это один работал на моем сервере Linux Ubuntu:

<link href="{{ public_path('css/style.css') }}" />

<img src="{{ public_path('images/image.jpg') }}" />

и работать на изображение.

+0

При предоставлении примера кода, пожалуйста, предоставьте его в качестве примера, чтобы исправить проблему для искателя. (Пример кода IE с полным путем к изображению, а не к таблице стилей, поскольку этот вопрос об изображении.) – Loren

Смежные вопросы