TCPDF ОШИБКА: [Изображение] Невозможно получить изображение - PullRequest
23 голосов
/ 05 октября 2011

Я использую TCPDF с модулем Drupal print для создания PDF статей и, в конечном итоге, получаю следующее сообщение об ошибке при нажатии на ссылку для создания PDF:

TCPDF ERROR: [Image] Unable to get image: http://localhost/pathToDrupal/themes/bartik/logo.png

Изображение существует в указанном месте.Я попытался применить:

allow_url_fopen = On;
allow_url_include = On;

в php.ini, но это не помогло решить проблему.

Пожалуйста, помогите: (

Ответы [ 12 ]

25 голосов
/ 05 октября 2011

Очевидно, что "fopen" -обёртки не используются TCPDF.

Если вы укажете URL-адрес изображения, TCPDF попытается загрузить его с помощью cURL в «cache» -каталог, в котором хранится ваша TCPDF-установка (вы должны проверить, что содержит K_PATH_CACHE -константа, чтобы быть уверенным) ,

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

8 голосов
/ 10 декабря 2011

У нас были проблемы с обработкой соединений на нашем сервере linux "example.com".Итак, это побудило нас попробовать на сервере:

curl -v http://www.example.com/image.jpg

Всякий раз, когда TCPDF пытался загрузить изображение с помощью curl, изображение не было найдено, тем не менее, мы могли просмотреть изображение, просто открыв его прямо в браузере.(например, http://www.example.com/image.jpg).

Мы решили эту проблему, настроив виртуальный хост example.com для приема подключений 127.0.0.1 и добавив строку «127.0.0.1 example.com» в /etc/hosts.

5 голосов
/ 19 ноября 2014

Просто используйте путь к изображению как «images / your_image.png» вместо «http://yourdomain.com/images/your_image.png" в HTML-файле PDF.

4 голосов
/ 19 февраля 2013

Я обнаружил, что TCPDF выдает ошибку «Невозможно получить изображение:», когда src является абсолютной ссылкой. Просто переход на относительную ссылку успешно создаст PDF.

3 голосов
/ 15 октября 2013

У меня была эта проблема на промежуточном сервере, где docroot сайта был защищен файлом .htaccess (для предотвращения индексации поисковой системы и других недоразумений)

tcpdf использует curl для получения изображения, и это даетэта ошибка, если он не может получить доступ к файлу.

Чтобы решить ее, я добавил в .htaccess правило, разрешающее запросы от веб-сервера

Allow from 123.45.6.7.8
2 голосов
/ 12 ноября 2015

Попробуйте добавить путь по текущему рабочему каталогу.

$img = getcwd().'/web/bundles/_bundlename_/img/logo.png';
2 голосов
/ 25 августа 2012
$pdf->Image($base_url.'/'.$node->field_loc_images[0]['filepath'] ,30, 40, 75, 113, 'JPG', '', '', true, 300, '');
1 голос
/ 08 мая 2015

В drupal обязательно включите библиотеку tcpdf в свою функцию, а не вверху файла модуля, иначе вы получите эту ошибку.

1 голос
/ 24 мая 2012

В проблемах со шрифтом Unicode вам необходимо указать следующий синтаксический код:

// set font
$fontname = $pdf->addTTFfont('../your path here/sampletruetype.ttf', 'TrueTypeUnicode', '', 32);

$pdf->SetFont($fontname, '', <font size value here>);

поставь его перед тем как добавить страницу ...

0 голосов
/ 26 июля 2017

После того, как я обновил PHP 5.5 до 5.6, я потерял часы из-за ошибки изображения

Я нашел решение здесь от @ caligari (комментарий к принятому ответу), и оно решило проблему для меня:

установить CURL так:

apt-get install php5-curl && /etc/init.d/apache2 restart. 
...