我正在尝试使用也由 php 生成的图像生成 PDF。听起来很简单,我确信我只是搞砸了标题,但我似乎无法在这里找到解决方案。
首先我生成一个PDF:
define('FPDF_FONTPATH','fonts/');
require('scpt/fpdf.php');
class PDF extends FPDF {}
$pdf = new FPDF('P','in',array(8.5,11));
$pdf->SetAutoPageBreak(false,0);
$pdf->SetTextColor(0,0,0);
$pdf->SetDrawColor(0,0,0);
$pdf->SetFont('Helvetica','',12);
$pdf->Image('label.php?imgid=17',0,0,0,0,'PNG');
$pdf->Output('label.pdf','D');
然后我在 label.php 中生成 PNG:
if(isset($_GET["imgid"])) {
header("Content-Type: image/png");
$im = @imagecreate(110, 20)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
}
这将输出:FPDF error: Not a PNG file:....
在浏览器中调用 label.php?imgid=17 但是会向我显示图像就好了......
我错过了什么?
编辑
在文档中:示例
// Insert a logo in the top-left corner at 300 dpi
$pdf->Image('logo.png',10,10,-300);
// Insert a dynamic image from a URL
$pdf->Image('http://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=Hello|World',60,30,90,0,'PNG');
所以应该可以在不先保存的情况下包含动态生成的图像?!
编辑#2
我使它与库mem_image一起工作,但问题仍然是这不应该引发错误 IMO?!所以我让这个问题保持开放,看看我的脚本是否确实有问题,结果证明这是一个错误。