[英]DOMPDF image is not displayed on the server
遇到一个很常见的错误,就是图片在服务器上不显示,在本地服务器上,图片还是显示不错,其实看了很多答案,试了很多方法还是不行,请看我的代码。
require_once("./vendor/dompdf_new/autoload.inc.php");
use Dompdf\Dompdf; //v0.8.3
class Pdfgenerator {
public function generate($html, $filename='', $stream=TRUE, $paper = 'A4', $orientation = "portrait")
{
$dompdf = new DOMPDF();
$contxt = stream_context_create([
'ssl' => [
'verify_peer' => FALSE,
'verify_peer_name' => FALSE,
'allow_self_signed'=> TRUE
]
]);
$dompdf->setHttpContext($contxt);
$dompdf->loadHtml($html);
$dompdf->set_option('isRemoteEnabled', true);
$dompdf->set_option('isHtml5ParserEnabled', true);
$dompdf->set_option('debugKeepTemp', TRUE);
$dompdf->setPaper($paper, $orientation);
$dompdf->render();
if ($stream) {
$dompdf->stream($filename.".pdf", array("Attachment" => 0));
} else {
return $dompdf->output();
}
}
}
// Using other file =========================================================
public function index()
{
// $this->load->library('pdfgenerator');
// $path = 'https://xxxxx.xx/images/logo.png';
// $type = pathinfo($path, PATHINFO_EXTENSION);
// $data = file_get_contents($path);
// $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
// $html = '<img src = "'.$base64.'" /><p>text</p>';
// $this->pdfgenerator->generate($html,'filename');
$html = '<img src ="'.$_SERVER['DOCUMENT_ROOT'].'/images/logo.png" /><p>text</p>';
$this->pdfgenerator->generate($html,'filename');
}
尝试将图像的路径更改为“/images/logo.png”或“../images/logo.png”等相对路径,看看是否适合您。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.