I have a page which uses mPDF which when you run displays a PDF in the browser, it can also be saved from here as a PDF no problem. What I would like to happen is when the page is run and generates a PDF that the page is saved as a PDF on the server.
Here is the current code:
<?php include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/WSAclient.php'; include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/WSAParser.php'; $reportID= $_GET['reportid']; $WSAclient = new WSAclient(WSA_USER_ID,WSA_API_KEY); $result=$WSAclient->viewReport($reportID,WSA_SUBSCRIPTION_ID,'xml','EN'); unset($WSAclient); ob_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>PDF Report</title> <!--Add your CSS here--> </head> <body> <?php echo WSAParser::viewReportResponse($result); ?> </body> </html> <?php $HTMLoutput = ob_get_contents(); ob_end_clean(); //Convert HTML 2 PDF by using MPDF PHP library include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/MPDF/mpdf.php'; $mpdf=new mPDF(); $mpdf->WriteHTML($HTMLoutput); $mpdf->Output(); ?>
Like I said this outputs the PDF fine but could someone tell me how to save as a PDF?
The mPDF docs state that the first argument of
Output() is the file path, second is the saving mode – you need to set it to
D – means Download
F – means File-save only
This can be done like this. It worked fine for me. And also set the directory permissions to 777 or 775 if not set.
ob_clean(); $mpdf->Output('directory_name/pdf_file_name.pdf', 'F');