db); } public function render() { return render('components.livewire.pdf-slot', [ 'invitation' => $this->invitation, 'entity' => $this->entity, ]); } public function getPdf() { $this->pdf = $this->entity->fullscreenPdfViewer($this->invitation); } public function getHtml() { $pdf_service = new PdfService($this->invitation); $pdf_service->config = (new PdfConfiguration($pdf_service))->init(); $pdf_service->html_variables = $pdf_service->config->client ? (new HtmlEngine($this->invitation))->generateLabelsAndValues() : (new VendorHtmlEngine($this->invitation))->generateLabelsAndValues(); $pdf_service->designer = (new PdfDesigner($pdf_service)); $pdf_service->designer->template = '
'; $pdf_service->builder = (new PdfBuilder($pdf_service)); $section = [ 'company-details' => [ 'id' => 'company-details', 'elements' => $pdf_service->builder->companyDetails(), ] ]; $document = new \DOMDocument(); $document->validateOnParse = true; @$document->loadHTML(mb_convert_encoding($pdf_service->designer->template, 'HTML-ENTITIES', 'UTF-8')); $pdf_service->builder->document = $document; $pdf_service->builder->sections = $section; $html = $pdf_service->builder ->getEmptyElements() ->updateElementProperties() ->updateVariables() ->getCompiledHTML(); $doc = new \DOMDocument(); $doc->loadHTML($html); $doc->removeChild($doc->doctype); $doc->replaceChild($doc->firstChild->firstChild->firstChild, $doc->firstChild); nlog($doc->saveHTML()); } }