我有一个使用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吗?
答案 0 :(得分:77)
mPDF docs表示Output()
的第一个参数是文件路径,第二个是保存模式 - 您需要将其设置为'F'
。
$mpdf->Output('filename.pdf','F');
答案 1 :(得分:17)
试试这个:
$mpdf->Output('my_filename.pdf','D');
,因为:
D
- 表示下载
F
- 表示仅文件保存
答案 2 :(得分:15)
这可以这样做。它对我来说很好。如果没有设置,还可以将目录权限设置为777或775。
ob_clean();
$mpdf->Output('directory_name/pdf_file_name.pdf', 'F');
答案 3 :(得分:0)
Go trough this link指出Output()
的第一个参数是文件路径,第二个参数是保存模式-您需要将其设置为'F'
。
$upload_dir = public_path();
$filename = $upload_dir.'/testing7.pdf';
$mpdf = new \Mpdf\Mpdf();
//$test = $mpdf->Image($pro_image, 0, 0, 50, 50);
$html ='<h1> Project Heading </h1>';
$mail = ' <p> Project Heading </p> ';
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
$mpdf->WriteHTML($mail);
$mpdf->Output($filename,'F');
$mpdf->debug = true;
示例:
$mpdf->Output($filename,'F');
示例2
$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('Hello World');
// Saves file on the server as 'filename.pdf'
$mpdf->Output('filename.pdf', \Mpdf\Output\Destination::FILE);