我正在使用mpdf动态创建PDF文件,在浏览器中打开文件没有问题,但Adobe却给出了一个错误提示:
Adobe Acrobat Reader DC无法打开“example-filename.pdf”,因为它不是受支持的文件类型或者文件已经损坏(例如,作为电子邮件附件发送时未正确解码)。
我查看了其他有关此问题的问题(另一个mpdf + Adobe错误),并在文本编辑器中检查了PDF。我发现文件的前面部分如下所示:
我从未将完整的html页面提供给mpdf,通常只提供h3和一个或多个表。也许我需要提供包括、等在内的整个html页面给mpdf?是否有任何方法可以更改mpdf配置或以php中调用mpdf的方式,以消除pdf文件开头的html垃圾,这些垃圾使一切变得混乱?
Adobe Acrobat Reader DC无法打开“example-filename.pdf”,因为它不是受支持的文件类型或者文件已经损坏(例如,作为电子邮件附件发送时未正确解码)。
我查看了其他有关此问题的问题(另一个mpdf + Adobe错误),并在文本编辑器中检查了PDF。我发现文件的前面部分如下所示:
<!DOCTYPE html>
<head>
<title>
CapstoneDB
</title>
%PDF-1.4
%âãÏÓ
在我删除了%PDF-1.4
(包括制表符)之前的所有内容后,文件在Adobe中正常打开,这很好,但是我需要能够在不手动调整代码的情况下使生成的pdf在Adobe中打开。
这是我的包装函数,它使用HTML和CSS调用mpdf:
include('../mpdf/mpdf.php');
function user_download_pdf($html, $css_file, $filename) {
$mpdf = new mPDF();
$stylesheet = file_get_contents($css_file);
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($html,2);
$mpdf->Output($filename, "D");
}
我从未将完整的html页面提供给mpdf,通常只提供h3和一个或多个表。也许我需要提供包括、等在内的整个html页面给mpdf?是否有任何方法可以更改mpdf配置或以php中调用mpdf的方式,以消除pdf文件开头的html垃圾,这些垃圾使一切变得混乱?