web-dev-qa-db-ja.com

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として保存する方法を教えてもらえますか?

29
Paul

mPDF docs は、Output()の最初の引数がファイルパスであり、2番目が保存モードであることを示しています。'F'に設定する必要があります。

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

これを試して:

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

なぜなら:

D-ダウンロードを意味します
F-ファイル保存のみを意味します

18
T.Todua

これは次のように実行できます。私にとってはうまくいきました。また、設定されていない場合は、ディレクトリのアクセス許可を777または775に設定します。

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