Refactor PDFSignatureZoneParser to use float values

This update changes how we handle values in PDFSignatureZoneParser class. Specifically, we've modified the 'MediaBox' and 'PDFSignatureZone' variables to use float values. The helps ensure greater precision, minimize errors, and maintain data consistency across the application.
This commit is contained in:
Julien Fastré 2024-06-25 13:25:49 +02:00
parent 99818c211d
commit 89f5231649
Signed by: julienfastre
GPG Key ID: BDE2190974723FCB

View File

@ -39,15 +39,16 @@ class PDFSignatureZoneParser
$defaultPageDetails = $defaultPage->getDetails();
foreach ($pdf->getPages() as $index => $page) {
$details = $page->getDetails();
$pdfPage = new PDFPage(
$index,
$page['MediaBox'][2] ?? $defaultPageDetails['MediaBox'][2],
$page['MediaBox'][3] ?? $defaultPageDetails['MediaBox'][3],
(float) ($details['MediaBox'][2] ?? $defaultPageDetails['MediaBox'][2]),
(float) ($details['MediaBox'][3] ?? $defaultPageDetails['MediaBox'][3]),
);
foreach ($page->getDataTm() as $dataTm) {
if (str_starts_with($dataTm[1], self::ZONE_SIGNATURE_START)) {
$zones[] = new PDFSignatureZone($dataTm[0][4], $dataTm[0][5], $this->defaultHeight, $this->defaultWidth, $pdfPage);
$zones[] = new PDFSignatureZone((float) $dataTm[0][4], (float) $dataTm[0][5], $this->defaultHeight, $this->defaultWidth, $pdfPage);
}
}
}