domPdfOptions = new Options(); $this->dompdf = new Dompdf(); } public function support(string $format): bool { return $format === ExportFormatEnum::PDF->value; } /** * Converts the provided HTML content into a PDF document. * * @param string $html The HTML content to be converted to PDF. * @param array $options Optional configuration settings for the PDF generation * @see https://github.com/dompdf/dompdf/blob/master/src/Options.php * * @return string The generated PDF content as a string. */ public function encode(string $html, array $options = []): string { $this->domPdfOptions->setIsRemoteEnabled(true); $this->domPdfOptions->setChroot(Path::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(); } }