Очень простой способ создания PDF сервера-сайта - это wkhtmltopdf .Тем не менее, вам потребуется доступ к серверу для установки.
Для создания PDF вам понадобятся два файла: один - PHP, который генерирует HTML, который вы хотите конвертировать в PDF.Допустим, это invoice.php:
<?php
$id = (int) $_GET['id'];
?>
<h1>This is invoice <?= $id ?></h1>
<p>some content...</p>
И еще один, который извлечет счет и преобразует его в PDF с помощью wkhtmltopdf:
<?php
$tempPDF = tempnam( '/tmp', 'generated-invoice' );
$url = 'http://yoursite.xx/invoice.php?id=123';
exec( "wkhtmltopdf $url $tempPDF" );
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=invoice.pdf');
echo file_get_contents( $tempPDF );
unlink( $tempPDF );
После создания PDFФайл, который вы также можете отправить письмо с вложением следующим образом:
<?php
$to = "abc@gmail.com";
$subject = "mail with attachment";
$att = file_get_contents( 'generated.pdf' );
$att = base64_encode( $att );
$att = chunk_split( $att );
$BOUNDARY="anystring";
$headers =<<<END
From: Your Name <abc@gmail.com>
Content-Type: multipart/mixed; boundary=$BOUNDARY
END;
$body =<<<END
--$BOUNDARY
Content-Type: text/plain
See attached file!
--$BOUNDARY
Content-Type: application/pdf
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="your-file.pdf"
$att
--$BOUNDARY--
END;
mail( $to, $subject, $body, $headers );