使用动态php生成的图像与MPDF

Kha*_*eel 2 php yii mpdf

我使用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>
Run Code Online (Sandbox Code Playgroud)

但不是这个(动态的)

<div class="chart">
<?php echo CHtml::image(Yii::app()->baseUrl.'/images/pie.png', 'Logo screenshot', array('class' => 'logo_image')); ?>
</div>
Run Code Online (Sandbox Code Playgroud)

Ps:我正在使用Yii url规则获取饼图的干净网址.

当我将pdf_template渲染为html时,两个图像都被正确渲染.

如何在没有$mpdf->Image()方法的情况下使用mpdf实现动态图像.

我怀疑我不能使用$mpdf->Image()从html生成pdf.

更新:

$mPDF->showImageErrors = true;
Run Code Online (Sandbox Code Playgroud)

我越来越

mPDF error: IMAGE Error (http://csrt.dev/images/pie.png): Could not find image file
Run Code Online (Sandbox Code Playgroud)

Kha*_*eel 6

Base64对图像进行编码并将其嵌入<img>标签中.

<div class="chart">
<img src="data:image/png;base64,xx5t.." />
</div>
Run Code Online (Sandbox Code Playgroud)

我使用Yii遇到了同样的问题,并发现这是解决方案,但是对于其他Yii/PHP用户,你必须使用base64_encode(你的文件内容)来获取标签中base64之后的部分.例如: base64_encode(file_get_contents("../images/folder16.gif"));