【发布时间】:2019-07-13 06:07:33
【问题描述】:
我正在使用 EXEOUTPUT for PHP 创建一个使用 Codeigniter 框架的桌面应用程序。所有网页都显示存储在 MYSQL BLOB 字段中的图像,但只有使用 mpdf 库生成的 pdf 无法显示图像。
当我在浏览器中运行相同的代码时,会显示图像。即使我将基本网址用作http://localhost/applicationname/,也会显示图像。但是,当我使用 http://heserver/ 作为基本 url 在 PHP 的 Exeoutput 中执行相同的代码时,不会显示图像。
$config['base_url'] = 'http://heserver/';
//$config['base_url'] = 'http://localhost/applicationname/';
我也尝试访问文件夹中上传的图像,它们也无法访问。 mpdf 库在渲染之前是否需要某个位置来临时渲染图像还是有其他问题?
我已经尝试了以下所有变体:
$top.='<img width="40px" src="logo.png"/>'; //accessing from file system
$top.='<img width="40px" src="data:image/png;base64,'.base64_encode($this->session->userdata('logo')).'"/>'; //accessing from database
$top.='<img width="30px" src="'.exo_getglobalvariable('HEPubStorageLocation', '').'rs\logo.png" />' //accessing through variable provided by exeoutput4php tool
ob_clean();
header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="'.$billno.'.pdf"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
include($_SERVER['DOCUMENT_ROOT']."/application/views/admin/mpdf/vendor/autoload.php");
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML($top);
$mpdf->SetJS('this.print();');
$mpdf->Output();
exit;
我也尝试过绝对虚拟数据文件夹,但没有成功。
我已将图像用作外部资源,尝试通过将子文件夹/图像名称作为图像标签中的 src 来调用它,但图像不可见。
请提出一些解决方案。
【问题讨论】:
标签: php codeigniter pdf desktop-application mpdf