我正在.docx使用模板创建文件PHPWord.它工作正常,但现在我想将生成的文件转换为PDF.
首先我尝试tcpdf结合使用PHPWord
$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");
Run Code Online (Sandbox Code Playgroud)
但是当我尝试加载文件以将其转换为PDF我在加载文件时遇到以下异常
致命错误:未捕获的异常'BadMethodCallException',消息'无法在Section中添加PreserveText.'
经过一些研究后我发现其他一些人也有这个bug(phpWord - 无法在Section中添加PreserveText)
编辑
在尝试了一些后,我发现,
Exception只有当我mail merge fields在我的文档中有一些时才会发生.一旦我删除它们Exception就不再出现了,但转换后的
我想过用另一种方法生成PDF,但我只能找到4种方法:
PHPWord和更好tcpdf,但仍然不能用作图像丢失,以及大多数(不是全部!)的样式有没有第五种方法来生成PDF?或者是否有任何解决方案可以使生成的PDF文档看起来不错?