我必须在生成的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
作为图像,而在服务器中它使用pdflib_adapter.cls.php
作为图像。
我甚至根据以下方式尝试了所有类型的图像:
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.
那么,导致此异常的问题是什么?
其他一些信息:
答案 0 :(得分:4)
dompdf中存在一个与通过PDFLib添加图像相关的错误。我不确定即将发布的0.6.0版本是否已解决该问题。支持小组There is a relevant thread。如果您想继续使用PDFLib,请查看我上一篇文章,了解有关解决方法的信息。
另一种选择是告诉dompdf使用CPDF。在dompdf_config.inc.php中将DOMPDF_PDF_BACKEND
设置为“CPDF”而不是“auto”或“PDFLib”。