PDF aus .docx generieren, generiert mit PHPWord
Ich erstelle.docx
Dateien aus einer Vorlage mitPHPWord
. Es funktioniert gut, aber jetzt möchte ich die generierte Datei in @ konvertierPDF
.
Zunächst habe ich versucht, mittcpdf
in Kombination mitPHPWord
$wordPdf = \PhpOffice\PhpWord\IOFactory::load($filename.".docx");
\PhpOffice\PhpWord\Settings::setPdfRendererPath(dirname(__FILE__)."/../../Office/tcpdf");
\PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF');
$pdfWriter = \PhpOffice\PhpWord\IOFactory::createWriter($wordPdf , 'PDF');
if (file_exists($filename.".pdf")) unlink($filename.".pdf");
$pdfWriter->save($filename.".pdf");
Aber wenn ich versuche, die Datei zu laden, um sie in @ zu konvertierPDF
Ich erhalte die folgende Ausnahme beim Laden der Datei
Schwerwiegender Fehler: Unaufgefangene Ausnahme 'BadMethodCallException' mit der Meldung 'PreserveText kann nicht in Abschnitt hinzugefügt werden.'
Nach einigen Recherchen habe ich festgestellt, dass einige andere auch diesen Fehler haben phpWord - PreserveText kann nicht in Abschnitt @ hinzugefügt werd)
BEARBEITE
Nach ein paar weiteren Versuchen fand ich heraus, dass dasException
tritt nur auf, wenn ich ein @ hamail merge fields
in meinem Dokument. Nachdem ich sie entfernt hatte, wurde dasException
wird nicht mehr angezeigt, aber das konvertiertePDF
Dateien sehen schrecklich aus. Alle Stilinformationen sind weg und ich kann das Ergebnis nicht verwenden, so dass die Notwendigkeit einer Alternative besteht.
Ich habe überlegt, das PDF auf andere Weise zu generieren, aber ich habe nur vier Möglichkeiten gefunden:
Using OpenOffice - Unmöglich, da ich keine Software auf dem Server installieren kann. Auch geht der Weg erwähntHie hat auch nicht als mein Hoster funktioniert Strato) verwendet SunOS als Betriebssystem und benötigt LinuxUsing phpdocx - Ich muss kein Budget dafür bezahlen und die Demo kann kein PDF erstellenUsing PHPLiveDocx - Dies funktioniert, ist jedoch auf 250 Dokumente pro Tag und 20 Dokumente pro Stunde beschränkt, und ich muss ungefähr 300 Dokumente gleichzeitig konvertieren, möglicherweise sogar mehrmals pro Tag.Using PHP-Digital-Format-Convert - Die Ausgabe sieht besser aus als mitPHPWord
undtcpdf
, aber immer noch nicht verwendbar, da Bilder fehlen und die meisten (nicht alle!) StileGibt es einen fünften Weg, um das PDF zu generieren? Oder gibt es eine Lösung, um die generierten PDF-Dokumente schön aussehen zu lassen?