-
-
Save bablukpik/603d690d18317556ef31481bd3a6dfdd to your computer and use it in GitHub Desktop.
mpdf: HTML/CSS to PDF & send pdf via email
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
mPDF: Generate PDF from HTML/CSS (Complete Code) | |
*/ | |
require_once( 'mpdf/mpdf.php'); // Include mdpf | |
$stylesheet = file_get_contents('assets/css/pdf.css'); // Get css content | |
$html = '<div id="pdf-content"> | |
Your PDF Content goes here (Text/HTML) | |
</div>'; | |
// Setup PDF | |
$mpdf = new mPDF('utf-8', 'A4-L'); // New PDF object with encoding & page size | |
$mpdf->setAutoTopMargin = 'stretch'; // Set pdf top margin to stretch to avoid content overlapping | |
$mpdf->setAutoBottomMargin = 'stretch'; // Set pdf bottom margin to stretch to avoid content overlapping | |
// PDF header content | |
$mpdf->SetHTMLHeader('<div class="pdf-header"> | |
<img class="left" src="assets/img/pdf_header.png"/> | |
</div>'); | |
// PDF footer content | |
$mpdf->SetHTMLFooter('<div class="pdf-footer"> | |
<a href="http://www.lubus.in">www.lubus.in</a> | |
</div>'); | |
$mpdf->WriteHTML($stylesheet,1); // Writing style to pdf | |
$mpdf->WriteHTML($html); // Writing html to pdf | |
// FOR EMAIL | |
$content = $mpdf->Output('', 'S'); // Saving pdf to attach to email | |
$content = chunk_split(base64_encode($content)); | |
// Email settings | |
$mailto = $email; | |
$from_name = 'LUBUS PDF Test'; | |
$from_mail = '[email protected]'; | |
$replyto = '[email protected]'; | |
$uid = md5(uniqid(time())); | |
$subject = 'mdpf email with PDF'; | |
$message = 'Download the attached pdf'; | |
$filename = 'lubus_mpdf_demo.pdf'; | |
$header = "From: ".$from_name." <".$from_mail.">\r\n"; | |
$header .= "Reply-To: ".$replyto."\r\n"; | |
$header .= "MIME-Version: 1.0\r\n"; | |
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; | |
$header .= "This is a multi-part message in MIME format.\r\n"; | |
$header .= "--".$uid."\r\n"; | |
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n"; | |
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; | |
$header .= $message."\r\n\r\n"; | |
$header .= "--".$uid."\r\n"; | |
$header .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n"; | |
$header .= "Content-Transfer-Encoding: base64\r\n"; | |
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"; | |
$header .= $content."\r\n\r\n"; | |
$header .= "--".$uid."--"; | |
$is_sent = @mail($mailto, $subject, "", $header); | |
//$mpdf->Output(); // For sending Output to browser | |
$mpdf->Output('lubus_mdpf_demo.pdf','D'); // For Download | |
exit; | |
?> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Coming Soon |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment