我正在使用FPDF来创建一个PDF的发票。
然后,我会将其添加为电子邮件附件。
在我的Mac上,所有这些似乎都运行得很好,但Windows系统上的用户似乎得到的是一个空白的PDF,里面没有任何信息。
PHP调用电子邮件附件
$EMAIL = $confirmation_customer_email_from;
$EMAIL_NAME = $confirmation_customer_email_from_name;
$mail = new PHPMailer();
require_once('giftaid.php');
$mail->AddAttachment($name, 'giftaid.pdf');
require_once('emails/mail.customer.invoice.php');
if (!$mail->Send()){
echo 'Mailer error: ' . $mail->ErrorInfo;
}
unlink($name);giftaid.php
require('fpdf/fpdf.php');
$image1 = "../images_site/logo.gif";
$pdf= new FPDF();
$pdf->AddPage();
$pdf->SetMargins(1,1,1,1);
$pdf->cell( 40, 40, $pdf->Image($image1, $pdf->GetX(), $pdf->GetY(), 33.78), 0, 0, 'L', false );
$pdf->SetFont('Helvetica','B',30);
$pdf->cell(150,10,'Gift Aid Declaration',0,0,'R',0);
$pdf->line(102, 20, 199, 20);
$m=microtime(true);
$name = 'temp/'.$m.'.pdf';
$pdf->Output($name, 'F');PDF在我使用Preview的mac上看起来还不错,但只有在Adobe Acrobat中打开时才会显示窗口上的logo图像。
有人知道问题出在哪里吗?
编辑:在Adobe Reader for Mac中也为空
发布于 2012-12-06 21:32:26
正如评论所说,这是由于使用命令的顺序所致。不能在setFont()之前使用setCell()。
发布于 2016-06-23 18:10:27
不要使用图片作为单元格的内容。
$pdf->cell( 40, 40, $pdf->Image($image1, $pdf->GetX(), $pdf->GetY(), 33.78), 0, 0, 'L', false );相反,请使用
$pdf->cell( 40, 40, "", 0, 0, 'L', false );
$pdf->Image($image1, $pdf->GetX(), $pdf->GetY(), 33.78);以获得相同的结果
https://stackoverflow.com/questions/7120401
复制相似问题