From aac8ceb21d9ecde7fb4b8a70f272ae4f23c99289 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 17 May 2022 17:54:44 +0200 Subject: [PATCH] wip #5220 --- src/PDFTools.php | 54 +++++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/src/PDFTools.php b/src/PDFTools.php index 02f590a..c85665c 100644 --- a/src/PDFTools.php +++ b/src/PDFTools.php @@ -374,6 +374,8 @@ class PDFTools { $lock = $pdf . '.split.lock'; + + $returnAfterSleep = false; usleep(rand(100000, 2000000)); @@ -388,32 +390,36 @@ class PDFTools touch($lock); - Files::mkdir($out); - $pdftk = new CommandLine('pdftk'); - $pdftk->setArg(null, $pdf); - $pdftk->setArg(null, 'burst'); - $pdftk->setArg(null, 'uncompress'); - $pdftk->setArg(null, 'output'); - $pdftk->setArg(null, $out . '/p%d.pdf'); - $pdftk->execute(); - - - for ($i = 1; true; $i++) { - // Remove annotations : https://gist.github.com/stefanschmidt/5248592 - $file = sprintf($out . '/p%d.pdf', $i); - if (!file_exists($file)) { - break; - } - $to = sprintf($out . '/s%d.pdf', $i); - `LANG=C LC_CTYPE=C sed -n '/^\/Annots/!p' $file > $to`; - if (file_exists($to)) { - if (filesize($to) > 0) { - unlink($file); - rename($to, $file); - } else { - unlink($to); + try { + Files::mkdir($out); + $pdftk = new CommandLine('pdftk'); + $pdftk->setArg(null, $pdf); + $pdftk->setArg(null, 'burst'); + $pdftk->setArg(null, 'uncompress'); + $pdftk->setArg(null, 'output'); + $pdftk->setArg(null, $out . '/p%d.pdf'); + $pdftk->execute(); + + + for ($i = 1; true; $i++) { + // Remove annotations : https://gist.github.com/stefanschmidt/5248592 + $file = sprintf($out . '/p%d.pdf', $i); + if (!file_exists($file)) { + break; + } + $to = sprintf($out . '/s%d.pdf', $i); + `LANG=C LC_CTYPE=C sed -n '/^\/Annots/!p' $file > $to`; + if (file_exists($to)) { + if (filesize($to) > 0) { + unlink($file); + rename($to, $file); + } else { + unlink($to); + } } } + } catch (\Exception $e) { + } unlink($lock); } -- 2.39.5