Проблема с FPDF при создании PDF с изображениями из-за настройки PHP 'allow_url_fopen' - PullRequest
2 голосов
/ 17 июля 2010

Возникла проблема с FPDF при создании файла PDF с изображениями, как объяснено <a href="https://stackoverflow.com/questions/3177716/fpdf-error-missing-or-incorrect-image-file">here</a>. Наконец, я нашел причину этой проблемы, но я не уверен, как ее исправить, кто-нибудь может предложить какое-то хорошее решение для решения этой проблемы.

Эта проблема связана с настройкой allow_url_fopen моего сервера. Если я включу эту настройку, то библиотека FPDF генерирует файл PDF с изображениями также без каких-либо ошибок.

Я использую эту библиотеку FPDF для одного из моих клиентских сайтов, он (клиент) отключил настройку allow_url_fopen по соображениям безопасности, и он не включен для включения этой настройки. как я могу решить эту проблему, не включив эту настройку моего сервера.

Ответы [ 3 ]

1 голос
/ 17 июля 2010

Честно говоря, ваш лучший выбор - найти другой способ создания PDF-файлов.FPDF имеет только одно обновление с 2004 года и, похоже, больше не поддерживается активно.

Некоторые другие параметры чистого PHP включают TCPDF и Zend_PDF , оба из которых, кажется, активно поддерживаются и поддерживаются.

Вы должны также рассмотреть некоторые другие методы создания PDF.Например, существует довольно много конвертеров HTML-в-PDF , некоторые коммерческие, некоторые с открытым исходным кодом. wkhtmltopdf , например, использует движок рендеринга WebKit (тот, который используют Safari и Chrome) для создания PDF-файлов.

1 голос
/ 17 июля 2010

Вы можете использовать CURL для открытия удаленных ресурсов.

$curlHandler=curl_init();

curl_setopt($curlHandler, CURLOPT_URL, "http://youurl.com");

curl_setopt($curlHandler, CURLOPT_HEADER,0);

curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, 1);

$output =curl_exec($curlHandler);

....

curl_close($curlHandler);
0 голосов
/ 11 марта 2018

У меня была похожая проблема, исправление для нее без установки allow_url_fopen было 1. переместить изображение на сервер, на котором размещен скрипт 2. предположить, что imagefile.gif находится в папке с именем images 3. получить доступ к изображению в моем скриптеделать это $ _SERVER ['DOCUMENT_ROOT']. "images / imagesfile.gif"

...