我想从生成的图像将图像加载到 PDF。
我已经设置了isRemoteEnabled 为 true和
生成的 QRCode 工作正常
这是我的代码。
$this->load->library(array('pdf', 'ciqrcode'));
$data = array('qrlink' => base_url('generateQR?text=123'));
$this->pdf->set_paper('folio');
$this->pdf->loadHtml($this->load->view('pdfoutput', $data, true));
$this->pdf->set_base_path(base_url());
$this->pdf->render();
$this->pdf->stream('QR-PDF', array("Attachment" => false));
这是我的观点
<img src="<?= $qrlink ?>" alt="QRcode" width="150px">
但输出说未找到图像或类型未知。
所以我该怎么做?
提前致谢。
Cheers.
我遇到了类似的问题,经过几个小时的互联网搜索后,我发现了(感谢Atiruz https://stackoverflow.com/users/1491512/atiruz ) that Dompdf does NOT使用远程 url 很好地渲染图像,例如http://your-domain.com/com/images/img.png" />总是给我同样的错误[图像未找到或类型未知]。就我而言***强文本***我必须使用base64编码的图像,它似乎已经解决了我的问题。
我编写了一个小片段,可以将您的图像编码为 base64 并返回一个字符串以在标记内使用。
以下是如何使用 Base64 编码数据作为您的 img src
//Use a valid base64 encoded data string
<img src="your-base64-encoded-image-string" />
这是将图像转换为 Base64 编码图像数据的代码片段
function encode_img_base64( $img_path = false, $img_type = 'png' ){
if( $img_path ){
//convert image into Binary data
$img_data = fopen ( $img_path, 'rb' );
$img_size = filesize ( $img_path );
$binary_image = fread ( $img_data, $img_size );
fclose ( $img_data );
//Build the src string to place inside your img tag
$img_src = "data:image/".$img_type.";base64,".str_replace ("\n", "", base64_encode($binary_image));
return $img_src;
}
return false;
}
我希望这对那里的人有帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)