3

我正在使用 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 url 规则作为饼图的干净 url。

当我将 pdf_template 呈现为 html 时,两个图像都被正确呈现。

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

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

更新:

$mPDF->showImageErrors = true;

我越来越

mPDF error: IMAGE Error (http://csrt.dev/images/pie.png): Could not find image file
4

2 回答 2

7

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"));

于 2013-11-12T05:46:31.807 回答
0

我有一个类似的问题。

使用:

 <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">

似乎工作正常。

于 2014-04-04T15:11:23.207 回答