|
|
@@ -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();
|
|
|
}
|
|
|
}
|