У меня есть страница, которая использует mPDF, и когда вы запускаете ее отображения в формате PDF в браузере, ее также можно сохранить здесь, так как PDF не проблема. То, что я хотел бы сделать, – это когда страница запущена и генерирует PDF-файл, который страница сохраняется в виде PDF-файла на сервере.
Вот текущий код:
<?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(); ?>
Как я сказал, это выводит PDF-файл, но может ли кто-нибудь сказать мне, как сохранить PDF?
благодаря
В документах mPDF указано, что первым аргументом Output()
является путь к файлу, второй – режим сохранения – вам нужно установить его на 'F'
.
$mpdf->Output('filename.pdf','F'); // only save to File
Обновлено:
Вам может понадобиться и это:
$mpdf->Output('filename.pdf','D'); // make it to DOWNLOAD
Это сработало для меня:
$mpdf->Output('my_filename.pdf','D');
но некоторые люди заявили о проблеме здесь – http://mpdf.bpm1.com/forum/comments.php?DiscussionID=123
Это можно сделать так. Это сработало для меня. А также установите разрешения для каталога на 777 или 775, если они не установлены.
ob_clean(); $mpdf->Output('directory_name/pdf_file_name.pdf', 'F');