使用dompdf不会在PDF文件中显示图像

时间:2013-06-01 10:03:24

标签: php html dompdf

我正在使用DOMPDF将html转换为PDF,转换后我将该PDF文件发送到用户邮件ID。

一切都很完美,但在PDF文件中,我无法看到我网站的徽标图像。我还在stackoverflow中搜索了以前的问题,例如: - error in pdf image using dompdfdompdf and img tag, image wont show

我还将DOMPDF_ENABLE_REMOTE设为TRUE,将DOMPDF_PDF_BACKEND设为CPDF

我的图片标记是: -

<img src="http://www.example.com/clients/myprojects/images/logo.png" alt="" /></a>

我提供了我网站的完整路径,但仍然没有在我的PDF文件中显示图片。

提前致谢。

12 个答案:

答案 0 :(得分:11)

使用包含.jpg图像的完整目录路径

答案 1 :(得分:2)

请勿放置完整的网址路径,只需添加foldername/filename.jpg

即可

示例:

<img src="uploads/kuruvi.jpg">

答案 2 :(得分:1)

它对我有用。

 <img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'/placeholder.jpg';?>"/>
 <img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'\placeholder.jpg';?>"/>
 <img src="<?php echo $_SERVER["DOCUMENT_ROOT"].'./placeholder.jpg';?>"/>

答案 3 :(得分:0)

如果我没记错,你可以在那里放一个完整的系统路径到那个图像 - 绝对或相对于你的脚本

答案 4 :(得分:0)

//use full directory path something like this    

    $currentsite = getcwd();
    $html = <<<HTML
    <html>
    <img src="{$currentsite}/sites/all/modules/certificate_handler/image002.png" alt="" /></a>

     </html>
    HTML;

答案 5 :(得分:0)

删除alt属性并将其从自动结束标记(/>)更改为正常标记(>)。它对我有用。

注意:dompdf似乎对img标记上的任何内联样式都有错误的响应,因此如果您使用任何内容样式,我建议删除它们。

答案 6 :(得分:0)

我这样做了:

$imgurl       = $graficas[$i]; 
$path_parts   = pathinfo($imgurl);
$graficas[$i] = $path_parts['filename'].".jpg";

并且有效。我希望这对你也有帮助

答案 7 :(得分:0)

DOMPDF

现在与png,jpg合作。

这里我用的是什么。

我在路径文件夹中有index.php个文件,在子文件夹中有图像,即图像。

$image ="images/".$_FILES['image_index_name']['name'];
$htm= '';

答案 8 :(得分:0)

我的情况下我花了2个小时终于得到答案 img src无法使用url或路径,您应该将其转换为base64格式

<?php 
$data = file_get_contents('https://teafloor.com/wp-content/themes/teafloor2-0/assets/images/logo.png');
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
?>
<?php echo '<div class="company-logo">
    <img src="'.$base64.'"  alt="base" />
</div>';
?>

<img src="<?php echo $base64; ?>"  alt="base" />

答案 9 :(得分:-1)

您只需将文件def("DOMPDF_ENABLE_REMOTE", FALSE);中的true行更改为DOMPDF_CONFIG.INC

答案 10 :(得分:-1)

现在最新的DOMPDF版本,但在PHP v5.3上有相同的问题

升级到v5.4或更高版本

问题已经解决了。

答案 11 :(得分:-3)

我想你可以添加这个

private function change_url_image($data,$url){  
$str=$url; //for example "http://localhost/yoursite/";
$str2=str_replace($str,"",$data);
return $str2;
}

更改图片的网址非常简单