php - 在 MPDF 中使用动态 php 生成的图像

标签 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>

但不是这个(动态)

<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 实现动态图像。

我怀疑在从 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"));

关于php - 在 MPDF 中使用动态 php 生成的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19899790/

相关文章:

html - CSS !important 不适用于 mpdf

php - 附加文本 javascript,不获取值

php - 如何使用try catch

yii - 使用 Yii 框架的注册表单

php - TbNavbar 下拉项内的表单

php - 为什么使用 mPDF 合并 PDF 文件后超链接丢失?

php - 如何更改 mpdf 中的 li CSS?

php - 单选按钮未按选中状态显示

php - 数组到字符串的转换(SQL : insert into

php - 使用 Yii 下载文件