From d7039dd659220bdc759fdf6597e38633914bef37 Mon Sep 17 00:00:00 2001 From: marcusorjames Date: Thu, 2 May 2024 17:33:50 +0100 Subject: [PATCH 1/2] feat: Allow importing of external links Leverage feature in fpdi@2.4 to allow external links to be imported --- composer.json | 2 +- src/Jurosh/PDFMerge/PDFMerger.php | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 4af4e73..4e1a077 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ "require": { "php": ">=5.6.20", "setasign/fpdf": "^1.8", - "setasign/fpdi": "^2.3" + "setasign/fpdi": "^2.4" }, "authors": [ { diff --git a/src/Jurosh/PDFMerge/PDFMerger.php b/src/Jurosh/PDFMerge/PDFMerger.php index 1fdae69..baf6c4c 100644 --- a/src/Jurosh/PDFMerge/PDFMerger.php +++ b/src/Jurosh/PDFMerge/PDFMerger.php @@ -2,6 +2,7 @@ use Exception; use setasign\Fpdi\Fpdi AS FPDI; +use setasign\Fpdi\PdfReader\PageBoundaries; /** * Basic merging of PDF files into one file @@ -14,6 +15,12 @@ class PDFMerger { * @var type Array of PDFObject-s */ private $_files; + private $_importExternalLinks; + + public function __construct($importExternalLinks = false) + { + $this->_importExternalLinks = $importExternalLinks; + } /** * Add a PDF for inclusion in the merge with a valid file path. @@ -69,7 +76,7 @@ public function merge($outputmode = 'browser', $outputpath = 'newfile.pdf') { //add the pages if ($filepages == 'all') { for ($i = 1; $i <= $count; $i++) { - $template = $fpdi->importPage($i); + $template = $fpdi->importPage($i, PageBoundaries::CROP_BOX, true, $this->_importExternalLinks); $size = $fpdi->getTemplateSize($template); $fpdi->AddPage($file->getOrientationCode(), array($size['width'], $size['height'])); From 66f47a685dc1cce07c5d1d5448aea1e8a8dc3467 Mon Sep 17 00:00:00 2001 From: marcusorjames Date: Thu, 2 May 2024 17:51:05 +0100 Subject: [PATCH 2/2] Coding standards --- src/Jurosh/PDFMerge/PDFMerger.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Jurosh/PDFMerge/PDFMerger.php b/src/Jurosh/PDFMerge/PDFMerger.php index baf6c4c..9e16ec0 100644 --- a/src/Jurosh/PDFMerge/PDFMerger.php +++ b/src/Jurosh/PDFMerge/PDFMerger.php @@ -17,8 +17,7 @@ class PDFMerger { private $_files; private $_importExternalLinks; - public function __construct($importExternalLinks = false) - { + public function __construct($importExternalLinks = false) { $this->_importExternalLinks = $importExternalLinks; }