【发布时间】:2012-06-04 05:28:17
【问题描述】:
最近几天我一直在想办法解决这个问题,但一无所获。
我有 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';
}
}
【问题讨论】:
-
服务器上是否安装了php-GD? dompdf/www/setup.php 说什么? (从您的浏览器导航到这里,例如pxd.me/dompdf/www/setup.php)。
-
这也有助于查看
$html的样本。具体来说,当您说您已尝试过绝对 URL 和相对 URL 时,您的意思是什么?由于您使用的是$dompdf->load_html(),因此没有域的 URL 将相对于 PHP 文件或操作系统根目录(对于以“/”开头的 URL)。
标签: php image pdf codeigniter-2 dompdf