2

在过去的几天里,我试图弄清楚这一点,但什么也没有。

我有 dompdf 在我的服务器上工作,它可以很好地创建 pdf。唯一的问题是它不会渲染我发送给它的图像。我将 DOMPDF_ENABLE_REMOTE 设置为 TRUE,tmp 文件夹是可写的,并且 get_file_contents 已打开。

现在,您在 dompdf 文件夹中获得的示例可以很好地呈现远程图像,它似乎是来自我的服务器的图像文件,导致了问题。

我试过绝对和相对网址。

我正在通过 codeigniter 运行它,它的 beta 版本是 0.6.0。

这是我的帮手:

   function create_pdf($html, $filename, $stream=TRUE) 
   {
    require_once("dompdf/dompdf_config.inc.php");

    spl_autoload_register('DOMPDF_autoload');

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();
    if ($stream) {
        $dompdf->stream($filename.".pdf");
    } else {
        write_file("./pdf_written_files/$filename.pdf", $dompdf->output());
    }
}

我的控制器功能:

function pdf($id)
{
    if($id !== NULL)
    {
        $this->load->helper(array('create_pdf','text'));

        $result = $this->product_model->order_by('order')->get_by(array('id' => $id))? : NULL;
        $collection = $this->collection_model->my_collection($result->id);
        $range = $this->range_model->my_range($result->id);
        $result->collection = $collection;
        $result->range = $range;
        $this->_data['content'] = $result;
        $html = $this->load->view('created_pdf', $this->_data, TRUE);
        create_pdf($html, $result->title);
    }
    else
    {
        echo 'no input found';
    }
}
4

3 回答 3

4

您的图片链接必须使用您的网络文件夹中的相对路径。例如,如果您的 web 文件夹在 /var/www/html/myweb 并且您的 CI 文件夹中的图像在 assets/images 中(与应用程序文件夹处于同一级别),您只需编写相对路径: assets/images/imgname .jpg。

于 2012-09-14T02:59:10.467 回答
0

我遇到了完全相同的问题,没有为我显示任何图像 - 背景图像和内联图像。我必须DOMPDF_ENABLE_REMOTEtrue你的配置中设置dompdf_config.inc.php

如果您同时启用了此功能,请注意安全风险DOMPDF_ENABLE_PHP

于 2013-11-18T00:25:16.753 回答
0

添加以下行

$dompdf = new DOMPDF();
$dompdf->set('isRemoteEnabled', true);
$dompdf->load_html($html);

如果这不起作用,则将方法从set更改为set_option

于 2019-09-01T10:20:24.213 回答