我正在使用mPDF允许用户从PDF网站下载结果。 PDF文件可以在Adobe Acrobat中正常打开,但是在关闭Acrobat时,它始终会询问“您要在关闭之前将更改保存到/filename.pdf/吗?”。 PDF文件无法执行任何操作或更改,因此我认为Adobe必须在文件中找到需要更改或修复的内容。 我用来生成PDF的代码:
public function pdf($page_to_export, $filename){
$url = urldecode($page_to_export);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1 );
$formvars = array('val1' => $_SESSION['val1'] ,
'val2' => $_SESSION['val2']);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($formvars));
$html = curl_exec($ch);
curl_close($ch);
ob_clean();
header('Content-type: application/pdf');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
$mpdf = new \Mpdf\Mpdf();
$mpdf->CSSselectMedia='print';
$mpdf->setBasePath($url);
$mpdf->WriteHTML($html);
$mpdf->Output($filename.'.pdf','D');
ob_end_flush();
}
formvars似乎不是问题,删除它们不会使问题消失。 根据我的发现,这可能是由于acrobat自动修复了文件损坏。我不知道如何开始调试。有人能指出我正确的方向吗?