benutzte ich Laravel für meine App und die dompdf ist gefunden:machen dompdf als mein PDF Writer für phpWord
../vendor/dompdf/dompdf
Was ich wollte, zu erreichen, ist meiner DOCX-Datei (Microsoft Word) zu konvertieren .pdf Datei. Die docx-Datei wurde von phpWord generiert, indem die Vorlagendatei geladen und die Werte ersetzt wurden.
Hier ist der Code-Schnipsel:
// Get the absolute path of the template file
$wordTemplatePath = $this->getDocumentTemplatePath('resignation.docx');
// Load the template file
$document = $this->phpWord->loadTemplate($wordTemplatePath);
// This will be filled with data
$wordData = []
.... Process to fill the data .....
// Replace value to actual word document
$this->setTemplateValues($wordData, $document);
// Generate its filename
$file = $this->generateFileName('Retirement-Certificate.docx', $id);
// Fetch the absolute path to save the document
$filepath = $this->getSavePath($file);
// Save the word document
$document->saveAs($filepath);
Danach wird eine DOCX-Datei generiert. Ich wollte auch eine PDF-Version davon machen. so dass ich die Suche und fand diesen Code-Schnipsel und hinzugefügt in meinem Code:
\PhpOffice\PhpWord\Settings::setPdfRendererPath('../vendor/dompdf/dompdf');
\PhpOffice\PhpWord\Settings::setPdfRendererName('DOMPDF');
//Load temp file
$phpWord = \PhpOffice\PhpWord\IOFactory::load($filepath);
//Save it
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF');
$xmlWriter->save('result.pdf');
Aber ich habe diesen Fehler:
{"error":
{"type":"PhpOffice\\PhpWord\\Exception\\Exception","message":"PDF rendering library or library path has not been defined.",
"file":"C:\\xampp\\htdocs\\vagrant\\vendor\\phpoffice\\phpword\\src\\PhpWord\\Writer\\PDF.php",
"line":49}}
Wie würde ich dompdf als mein PDF Writer für PHPWord machen? Ich kann keine anderen Optionen finden, also frage ich hier. Ich hoffe ihr könnt mir helfen. Vielen Dank!
Haben Sie einen absoluten Pfad zur dompdf-Bibliothek ausprobiert? – BrianS