Bladeren bron

fix dompdf error on messenger second execution of PdfEncoder

Olivier Massot 5 maanden geleden
bovenliggende
commit
b8a25be3b0
1 gewijzigde bestanden met toevoegingen van 14 en 20 verwijderingen
  1. 14 20
      src/Service/Export/Encoder/PdfEncoder.php

+ 14 - 20
src/Service/Export/Encoder/PdfEncoder.php

@@ -5,6 +5,7 @@ declare(strict_types=1);
 namespace App\Service\Export\Encoder;
 
 use App\Enum\Export\ExportFormatEnum;
+use App\Service\Utils\DebugUtils;
 use App\Service\Utils\PathUtils;
 use Dompdf\Dompdf;
 use Dompdf\Options;
@@ -14,15 +15,6 @@ use Dompdf\Options;
  */
 class PdfEncoder implements EncoderInterface
 {
-    protected Options $domPdfOptions;
-    protected Dompdf $dompdf;
-
-    public function __construct()
-    {
-        $this->domPdfOptions = new Options();
-        $this->dompdf = new Dompdf();
-    }
-
     public function support(string $format): bool
     {
         return $format === ExportFormatEnum::PDF->value;
@@ -40,16 +32,18 @@ class PdfEncoder implements EncoderInterface
      */
     public function encode(string $html, array $options = []): string
     {
-        $this->domPdfOptions->setIsRemoteEnabled(true);
-        $this->domPdfOptions->setChroot(PathUtils::getProjectDir().'/public');
-        $this->domPdfOptions->setDefaultPaperOrientation('portrait');
-        $this->domPdfOptions->setDefaultPaperSize('A4');
-        $this->domPdfOptions->set($options);
-
-        $this->dompdf->setOptions($this->domPdfOptions);
-        $this->dompdf->loadHtml($html);
-        $this->dompdf->render();
-
-        return $this->dompdf->output();
+        $domPdfOptions = new Options();
+        $dompdf = new Dompdf();
+
+        $domPdfOptions->setIsRemoteEnabled(true);
+        $domPdfOptions->setChroot(PathUtils::getProjectDir().'/public');
+        $domPdfOptions->setDefaultPaperOrientation('portrait');
+        $domPdfOptions->setDefaultPaperSize('A4');
+        $domPdfOptions->set($options);
+
+        $dompdf->setOptions($domPdfOptions);
+        $dompdf->loadHtml($html);
+        $dompdf->render();
+        return $dompdf->output();
     }
 }