将图像数据URI转换为图像PHP

时间:2015-08-05 03:14:16

标签: php image base64 fpdf data-uri

我在php中有一个数据uri变量

$imageURL  = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAgAElEQ…ACIiACIiAC5U1AAqS891erEwEREAEREAEREAEREIFAEfj/bfXX..."

我正在尝试使用fpdf将其插入到pdf中,我需要将其转换为图像。我尝试过像

这样的事情
base64_decode($imageURL);

但这不起作用。我如何成功地将此数据uri插入pdf。

1 个答案:

答案 0 :(得分:1)

$image_content = base64_decode(str_replace("data:image/png;base64,","",$imageURL)); // remove "data:image/png;base64,"
$tempfile = tmpfile(); // create temporary file
fwrite($tempfile, $image_content); // fill data to temporary file
$metaDatas = stream_get_meta_data($tempfile);
$tmpFilename = $metaDatas['uri'];

现在您可以将该图像用于fpdf,如:

$pdf->Image($tmpFilename,null,null,0,0);

或者您可以通过添加图像类型参数来指定图像类型:

$pdf->Image($tmpFilename,null,null,0,0,'PNG');

请查看http://www.fpdf.org/en/doc/image.htm