Я пытаюсь поместить текст в некоторые PDF-файлы с TCPDI.
Он отлично работает в большинстве PDF-файлов, но в некоторых PDF-файлах код застревает, когда достигает функции useTemplate (), и получает ошибку 500 (превышено максимальное время).
Они не длинные PDF (максимум 1,2,3 страниц), и другие PDF-файлы с большим количеством страниц работает нормально. Вот мой код:
$pdf = new TCPDI();
$pageCount = $pdf->setSourceFile($path);
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
$templateId = $pdf->importPage($pageNo);
$size = $pdf->getTemplateSize($templateId);
if ($size['w'] > $size['h']) {
$pdf->AddPage('L', array($size['w'], $size['h']));
} else {
$pdf->AddPage('P', array($size['w'], $size['h']));
}
$pdf->useTemplate($templateId); //Here is where it takes so long that it exceeds time
$pdf->SetFont('Helvetica');
$pdf->SetFontSize(10);
$pdf->SetTextColor(255, 0, 0);
$pdf->SetXY(2, 0);
$pdf->Write(0, 'Code nº 4');
}
$pdf->Output($file,'D');
Есть ли какая-нибудь опора для pdf, которая может сделать его заблокированным? Есть альтернативы?
У меня есть код, который обрабатывает несколько pdf с этим кодом в al oop и помещает их в zip, а когда в цепочке находится один pdf, который заклинивает код, zip, очевидно, не обрабатывает, поэтому если есть способ определить, какие PDF-файлы идут go, чтобы создать мне проблему, я не могу перепрыгнуть туда и сгенерировать почтовый индекс с товаром.
Я не могу контролировать PDF-файлы, они загружаются по множеству клиентов
РЕДАКТИРОВАТЬ: В журнале более миллиона строк, подобных PHP Предупреждение: недопустимое смещение строки 'DAmip' в ... \ TCPDF \ tcpdi_parser. php on line 712 до Максимального времени выполнения Фатальная ошибка