将HTML添加到图像并使用php下载

时间:2017-04-27 07:50:58

标签: php

我正在尝试将以下HTML表格添加到图像中,然后将其作为.jpg文件下载,但它会给我$dir中给出的白色图像。请查看并指导我缺少的内容或此代码的错误

$dir = "../images/white.jpg";

$text = "tableHTML";
imagettftext($dir, 20, 0, 10, 20, $text);

imagepng($dir);
//$name = './img/ok.png';
header('Pragma: public');
header('Cache-Control: public, no-cache');
header('Content-Type: application/octet-stream');
header('Content-Length: ' . filesize($dir));
header('Content-Disposition: attachment; filename="' . basename($dir) . '"');
header('Content-Transfer-Encoding: binary');

readfile($dir);

输出image.jpg就像这样

Sr # | ID    | Bar Code  | Notes
1    | 1261  | ||||||||  | Test
2    | 6781  | ||||||||  | test 
3    | 8895  | ||||||||  | test 
4    | 5578  | ||||||||  | test 
5    | 1123  | ||||||||  | test 

*测试数据

2 个答案:

答案 0 :(得分:0)

你缺少一个参数。 遵循文档 - > http://php.net/manual/en/function.imagettftext.php

imagettftext(resource $ image,float $ size,float $ angle,int $ x,int $ y,int $ color,string $ fontfile,string $ text)

你正在使用

imagettftext((image)$ dir,(size)20,(angle)0,(x)10,(t)20,(color)$ text);

也许你错过了文字之前的颜色;)

答案 1 :(得分:0)

首先,你有一个jpg文件,你正在使用imagepng()函数。

您的代码可能就像---

$file = 'images/white.jpg';
$text = "tableHTML";
header("Content-type: image/jpeg");
$file = ImageCreateFromJPEG($file); 
$font = 'YOUR_FONT_FILE_PATH';
$black = ImageColorAllocate($file, 255, 255, 255);
Imagettftext($file, 20, 0, 10, 20, $black, $font, "text to write");
imagejpeg($file);