我正在使用.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");
但是当我尝试加载文件以将其转换为
PDF
时,在加载文件时出现以下异常经过研究后,我发现其他人也有此错误(phpWord - Cannot add PreserveText in Section)
编辑
我考虑过使用另一种方式来生成PDF,但是我只能找到4种方式:
PHPWord
和tcpdf
更好,但是由于缺少图像以及大多数(不是全部!)样式有第五种生成PDF的方法吗?还是有什么解决方案可以使生成的PDF文档看起来不错? (adsbygoogle = window.adsbygoogle || []).push({});
最佳答案
我使用Gears/pdf将phpword生成的docx文件转换为PDF:
$success = Gears\Pdf::convert(
'file_path/file_name.docx',
'file_path/file_name.pdf');
(adsbygoogle = window.adsbygoogle || []).push({});