PHP mPDF сохранить файл в формате PDF
У меня есть страница, которая использует 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?
3 ответов
на mPDF docs укажите, что первый аргумент 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');