DOMPDF图像未显示在服务器上

时间:2019-11-01 08:43:53

标签: php dompdf

我遇到了一个非常常见的错误,该图像未显示在服务器上,在本地服务器上,该图像仍然显示良好,我实际上查看了很多答案并尝试了很多方法,但是仍然没有没用,请看一下我的代码。

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');

}

1 个答案:

答案 0 :(得分:0)

尝试将图像的路径更改为相对的路径,例如“ /images/logo.png”或“ ../images/logo.png”,看看是否可行。