【发布时间】:2021-01-06 13:29:26
【问题描述】:
编辑:在 Jan 的帮助下更新
编辑:代码不会失败,直到 $mpdf->Output($max . ' imports .pdf', 'D');被称为
PHP 7.1 版
MPDF 版本 8.0.10
Setasign fpdi_pdf-parser 版本 2.0.4 错误
无法打开文件 (fopen) Compnay Induction (checklist) th v2.pdf 无法打开文件(fopen)员工信息注册.pdf 无法打开文件 (fopen) Coshh 列表 v7.pdf 无法打开文件 (fopen) 企业能力表.pdf
下面是我的代码的 sn-p,它会产生错误
function addCustomForms($forms, $mpdf, $Customer)
{
if ($forms) {
$handles = [];
foreach ($forms as $CustomPolicyForm) {
if (is_file('../cdata/' . $Customer->reference . '/policy-forms/' . $CustomPolicyForm->form)) {
try {
$h = \fopen('../cdata/' . $Customer->reference . '/policy-forms/' . $CustomPolicyForm->form, 'rb');
// File not Opened
if ($h === false) {
echo 'Failed to open file (fopen) ' . $CustomPolicyForm->form . '<br/>';
return false;
} else {
$stream = new \setasign\Fpdi\PdfParser\StreamReader($h, false);
$pagecount = $mpdf->setSourceFile($stream);
if ($pagecount > 0) {
for ($i = 1; $i <= ($pagecount); $i++) {
$mpdf->AddPage($CustomPolicyForm->orientation);
if ($i == 1) {
$html = '<h3 style="color: #ffffff;">' . sd($CustomPolicyForm->title) . '</h3>';
$mpdf->WriteHTML($html);
}
try {
$import_page = $mpdf->importPage($i);
try {
$mpdf->useTemplate($import_page);
} catch (Exception $e) {
echo 'Not worked for ' . $CustomPolicyForm->title .'<br/>';
return false;
}
} catch (Exception $e) {
echo 'importPage failed for ' . $CustomPolicyForm->title . ' Page ' . $i .'<br/>';
return false;
}
}
$handles[] = $h;
} else {
echo 'Page count is less than 1 for ' . $CustomPolicyForm->form .'<br/>';
return false;
}
}
} catch
(Exception $e) {
echo 'Failed to set source file for ' . $CustomPolicyForm->form . '<br/>';
return false;
}
} else {
echo 'File not found: ' . $CustomPolicyForm->form .'<br/>';
return false;
}
$pagecount = null;
}
return $handles;
} else {
// No forms found
echo 'No Forms Found';
return false;
}
}
$mpdf->Output(Customer::find_by_id($Policy->customer_id)->customer . '.pdf', 'D');
\fclose($handles);
更改 TOCuseLinking' => false 隐藏/解决了问题,但我不确定首先是什么导致了问题。
我使用的测试文件是https://1drv.ms/b/s!ApXTTaxD_QQPj7kwpxX3G4a5-2Ir2Q?e=WJRMi3(这是一个空白的PDF)
有人指点一下吗?
【问题讨论】: