我正在使用php和mpdf来生成特定的pdf。我在pdf中有一些饼图。为此,我正在使用pChart。我正在动态生成饼图以在 pdf 中呈现。
在我的pdf中,所有静态图像都正确呈现,但没有动态生成的饼图。
这个(静态)工作,
<div class="chart">
<?php echo CHtml::image(Yii::app()->baseUrl.'/images/color-block2.png', 'Logo screenshot', array('class' => 'logo_image')); ?>
</div>
但不是这个(动态)
<div class="chart">
<?php echo CHtml::image(Yii::app()->baseUrl.'/images/pie.png', 'Logo screenshot', array('class' => 'logo_image')); ?>
</div>
Ps:我正在使用 Yii 网址规则来制作饼图的干净网址。
当我将pdf_template渲染为 html 时,两个图像都正确呈现。
如何在没有 $mpdf->Image()
方法的情况下使用 mpdf 实现动态图像。
我怀疑我在从 html 生成 pdf 时无法使用$mpdf->Image()
。
更新:
后
$mPDF->showImageErrors = true;
我得到了
mPDF error: IMAGE Error (http://csrt.dev/images/pie.png): Could not find image file
Base64 对图像进行编码并将其嵌入<img>
标签中。
<div class="chart">
<img src="data:image/png;base64,xx5t.." />
</div>
我在使用 Yii 时遇到了同样的问题,并发现这是解决方案,但是对于其他 Yii/PHP 用户,您必须使用 base64_encode(您的文件内容)来获取标签中 base64 之后的部分。例如: base64_encode(file_get_contents("../images/folder16.gif"));
我遇到了类似的问题。
用:
<img src="http://domain.com/assets/img/header.png">
或
<img src="/assets/img/header.png">
给我以下错误:
mPDF error: IMAGE Error (http://domain.com/assets/img/header.png): Could not find image file
即使我可以浏览到那个并看到图像。
但是使用:
<img src="assets/img/header.png">
似乎工作正常。