diff --git a/src/Input/LocalInputSource.php b/src/Input/LocalInputSource.php index d6786ae3..9abe4997 100644 --- a/src/Input/LocalInputSource.php +++ b/src/Input/LocalInputSource.php @@ -22,6 +22,7 @@ use setasign\Fpdi\Fpdi; use setasign\Fpdi\PdfParser\PdfParserException; use setasign\Fpdi\PdfReader\PdfReaderException; +use Throwable; use function count; use function in_array; @@ -117,6 +118,8 @@ public function __construct() } } catch (MindeeUnhandledException) { error_log("PDF-handling features not available, page count set to null."); + } catch (Throwable $e) { + error_log("Could not open PDF due to exception" . $e->getMessage() . ", setting page count to null."); } } @@ -285,7 +288,7 @@ public function fixPdf(): void * original or not. Needs force_source_text to work. */ public function compress( - int $quality = 85, + int $quality = 85, ?int $maxWidth = null, ?int $maxHeight = null, bool $forceSourceTextCompression = false, diff --git a/tests/Input/LocalInputSourceTest.php b/tests/Input/LocalInputSourceTest.php index 3bd44502..885ac541 100644 --- a/tests/Input/LocalInputSourceTest.php +++ b/tests/Input/LocalInputSourceTest.php @@ -75,6 +75,12 @@ public function testPdfCountPages(): void self::assertSame(12, $inputObj->pageCount); } + public function testPdfPageCountNullOnUnsupportedCompression(): void + { + $inputObj = new PathInput(TestingUtilities::getFileTypesDir() . "/pdf/XfaForm.pdf"); + self::assertNull($inputObj->pageCount); + } + public function testPdfReconstructOK(): void { $inputObj = new PathInput(TestingUtilities::getFileTypesDir() . "/pdf/multipage.pdf"); diff --git a/tests/V2/FileOperations/CropFunctional.php b/tests/V2/FileOperations/CropFunctional.php index a57b26bd..a62c46e4 100644 --- a/tests/V2/FileOperations/CropFunctional.php +++ b/tests/V2/FileOperations/CropFunctional.php @@ -87,11 +87,11 @@ public function testExtractCropsFromImageCorrectly(): void $file1Info = filesize($this->outputDir . '/crop_001.jpg'); self::assertGreaterThanOrEqual(97000, $file1Info); - self::assertLessThanOrEqual(103000, $file1Info); + self::assertLessThanOrEqual(120000, $file1Info); $file2Info = filesize($this->outputDir . '/crop_002.jpg'); self::assertGreaterThanOrEqual(97000, $file2Info); - self::assertLessThanOrEqual(103000, $file2Info); + self::assertLessThanOrEqual(120000, $file2Info); } public function testExtractCropsFromEachPdfPageCorrectly(): void