Создание FPDF для последующей отправки через PHPMailer или Print - PullRequest
0 голосов
/ 31 мая 2018

Итак, я пытаюсь создать счет-фактуру в формате PDF для гаража, и в настоящее время у меня есть следующее (я знаю, что переменные отсутствуют, но у них была личная информация для тестирования на localhost, а также некоторые пустые тексты в ячейках).).Так или иначе несколько вещей!

Мне нужна Работа и соответствующая сумма в той же строке, над которой я провел некоторые исследования, и она все еще не будет работать, поскольку я не до конца понимаю, кто-то может помочь с тем, как она работает, поэтому яможет это реализовать?

Идея состоит в том, чтобы создать счет-фактуру, сохранив его в базе данных SQL, что я и сделал, с добавленной возможностью либо распечатать документ прямо, либо отправить его по электронной почте клиенту, если есть возможность сохранитьPDF для отправки в виде приложения через PHPMailer (с которым я скоро столкнусь!).Или печатать прямо из этого?

В идеале не хотелось бы, чтобы PDF-файл засорялся после создания.

Любая помощь будет принята с благодарностью, если что-нибудь поможет мне!

<?php
require ('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();


$pdf->SetFont('Arial','',24);

//Cell (Width, height, text, border, end line, 'align')
$pdf->Cell(189,25,'Cheshire West Vehicle Ltd Invoice', 0,1, 'C');

$pdf->SetFont('Arial','',14);
//CWV & Customer Address
$pdf->Cell(65,5,'',0,0);
$pdf->Cell(124, 5, $firstname.' '.$lastname, 0, 1, 'R');
$pdf->Cell(40,5,'',0,0);
$pdf->Cell(149 ,5, $housenumber.', '.$postcode, 0 ,1, 'R');
$pdf->Cell(30,5,'',0,0);
$pdf->Cell(159,5,$contactnumber,0,1,'R');
$pdf->Cell(30,5,'',0,0);
$pdf->Cell(159,5,$email,0,1,'R');


//Date
$pdf->SetFont('Arial','',12);
$pdf->Cell(189,15,$date,0,1,'R');

$pdf->SetFont('Arial','',13);

//Vehicle Stuff
$pdf->Cell(12,15,'VRM: ',0,0);
$pdf->Cell(29,15,$vrm,0,0,'C');
$pdf->Cell(13,15,'Make: ',0,0);
$pdf->Cell(35,15,$make,0,0,'C');
$pdf->Cell(14,15,'Model: ',0,0);
$pdf->Cell(44,15,$model,0,0,'C');
$pdf->Cell(18,15,'Mileage: ',0,0);
$pdf->Cell(24,15,$mileage,0,1,'C');

//Work
$pdf->Cell(149,5,'Work Carried Out',1,0,'C');
$pdf->Cell(40,5,'Amount',1,0,'C');
$pdf->Cell(0,5,'',0,1);

$pdf->MultiCell(189,25,$work1,1,'C',false);
$pdf->MultiCell(40,25,$amount1,1,1);
$pdf->MultiCell(189,25,$work2,1,'C',false);
$pdf->MultiCell(40,25,$amount2,1,1);
$pdf->MultiCell(189,25,$work3,1,'C',false);
$pdf->Cell(40,25,$amount3,1,1);

//Other
$pdf->Cell(189,5,'Other Details',1,'C');
$pdf->MultiCell(189,25,$other,1,'C',false);
$pdf->Output();
?>

1 Ответ

0 голосов
/ 31 мая 2018

Да.Если вы посмотрите документы для tcpdf, вы увидите, что есть варианты вывода, включая один (S), который возвращает данные PDF напрямую в виде строки, а не записывает их в файл.Вы можете передать эти необработанные данные непосредственно в метод PHPMailer addStringAttachment(), например:

$pdfdata = $pdf->Output('name.pdf', 'S');
$mail->addStringAttachment($pdfdata, 'name.pdf');

. Кодирование и тип MIME будут установлены автоматически.

В других новостях tcpdf docsбезнадежно ориентироваться.

...