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?
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');
Essaye ça:
$mpdf->Output('my_filename.pdf','D');
car:
D
- signifie TéléchargerF
- signifie enregistrement de fichier uniquement
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');