Создан пустой PDF - PullRequest
       16

Создан пустой PDF

0 голосов
/ 19 августа 2011

Я использую 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 отлично смотрится на моем Mac с использованием Preview, но при открытии в Adobe Acrobat только отображает логотип в окнах.

Кто-нибудь знает, в чем проблема?

РЕДАКТИРОВАТЬ: он также пуст в Adobe Reader для Mac

Ответы [ 2 ]

1 голос
/ 23 июня 2016

Не используйте изображение в качестве содержимого ячейки.

$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);

для получения того же результата

1 голос
/ 06 декабря 2012

Как прокомментировано, это связано с порядком используемых команд. Вы не можете использовать setCell() до setFont().

...