web-dev-qa-db-fra.com

PHP mPDF enregistrer le fichier sous PDF

J'ai une page qui utilise mPDF qui, lorsque vous exécutez, affiche un PDF dans le navigateur, il peut également être enregistré à partir d'ici comme un PDF pas de problème. J'aimerais que ce soit lorsque la page est lancée et génère un PDF que la page est enregistrée en tant que PDF sur le serveur).

Voici le code actuel:

<?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();
?>

Comme je l'ai dit, cela génère le PDF bien mais quelqu'un pourrait-il me dire comment enregistrer au format PDF?

29
Paul

mPDF docs indique que le premier argument de Output() est le chemin du fichier, le second est le mode d'enregistrement - vous devez le régler sur 'F'.

$mpdf->Output('filename.pdf','F');
81
Sergey Eremin

Essaye ça:

$mpdf->Output('my_filename.pdf','D'); 

car:

D - signifie Télécharger
F - signifie enregistrement de fichier uniquement

18
T.Todua

Cela peut être fait comme ça. Cela a bien fonctionné pour moi. Et définissez également les autorisations de répertoire sur 777 ou 775 si elles ne sont pas définies.

ob_clean();
$mpdf->Output('directory_name/pdf_file_name.pdf', 'F');
16
M.J