ошибка в pdf изображении при использовании dompdf - PullRequest
0 голосов
/ 07 февраля 2011

Мне нужно отобразить логотип на каждой странице сгенерированного PDF.Хотя он отлично работает в локальной системе, он выдает следующее исключение на сервере:

Fatal error: Uncaught exception 'PDFlibException' with message 'Handle parameter or option of type 'image' has bad value 0' in /var/www/dev/subdomains/rfqms/httpdocs/sprintnineteen/system/plugins/dompdf/include/pdflib_adapter.cls.php:664 Stack trace: #0 /var/www/dev/subdomains/rfqms/httpdocs/sprintnineteen/system/plugins/dompdf/include/pdflib_adapter.cls.php(664): PDFlib->fit_image(0, 30, 746, 'boxsize={86 43}...') #1 /var/www/dev/subdomains/rfqms/httpdocs/sprintnineteen/system/plugins/dompdf/include/php_evaluator.cls.php(66) : eval()'d code(16): PDFLib_Adapter->image('http://rfqms.de...', 'jpg', 30, 3, 86.4, 43.2) #2 /var/www/dev/subdomains/rfqms/httpdocs/sprintnineteen/system/plugins/dompdf/include/php_evaluator.cls.php(66): eval() #3 /var/www/dev/subdomains/rfqms/httpdocs/sprintnineteen/system/plugins/dompdf/include/php_evaluator.cls.php(70): PHP_Evaluator->evaluate('??//$base_img_u...') #4 /var/www/dev/subdomains/rfqms/httpdocs/sprintnineteen/system/plugins/dompdf/include/renderer.cls.php(180): PHP_Evaluator->render(O in /var/www/dev/subdomains/rfqms/httpdocs/sprintnineteen/system/plugins/dompdf/include/pdflib_adapter.cls.php on line 664

После некоторого анализа я обнаружил, что в локальной системе он использует cpdf_adapter.cls.php для изображения, где, как и на сервере, он использует * 1005.* для изображения.

Я даже пробовал для всех типов изображений в соответствии с:

pdfLib tutorial Version 8.0.2 ---page # 166--- Inline images are only supported for imagetype=ccitt, jpeg, and raw. For other image types the inline option will silently be ignored.

Итак, что является проблемой, которая приводит к этому исключению?

некоторая дополнительная информация:

  • локальный PHP версии 5.3.0
  • сервер PHP версии 5.2.16
  • dompdfверсия 0.5.2
  • DOMPDF_TEMP_DIR имеет разрешение r / w / e
  • локальный компьютер - Windows Vista
  • сервер - Linux

1 Ответ

4 голосов
/ 07 февраля 2011

В какой-то момент была ошибка в dompdf, связанная с добавлением изображений через PDFLib. Я не уверен, была ли проблема решена или нет для предстоящего выпуска 0.6.0. В группе поддержки есть соответствующая тема . Посмотрите на мой последний пост там для получения информации об обходном пути, если вы хотите продолжить использовать PDFLib.

Другой вариант - указать dompdf использовать CPDF. В dompdf_config.inc.php установите DOMPDF_PDF_BACKEND на «CPDF» вместо «auto» или «PDFLib».

...