use PhpOffice\PhpWord\IOFactory;
use Dompdf\Dompdf;
$phpWord = IOFactory::load('path/to/file.docx');
$dompdf = new Dompdf();
$dompdf->loadHtml($phpWord->saveHTML());
$dompdf->render();
$dompdf->stream();
use PhpOffice\PhpWord\PhpWord;
use Barryvdh\DomPDF\Facade as PDF;
$phpWord = new PhpWord();
$phpWord->loadTemplate('path/to/file.docx');
$pdf = PDF::loadView('view', compact('phpWord'))->save('path/to/file.pdf');
use PDF;
public function convertWordToPDF()
{
/* Set the PDF Engine Renderer Path */
$domPdfPath = base_path('vendor/dompdf/dompdf');
\PhpOffice\PhpWord\Settings::setPdfRendererPath($domPdfPath);
\PhpOffice\PhpWord\Settings::setPdfRendererName('DomPDF');
//Load word file
$Content = \PhpOffice\PhpWord\IOFactory::load(public_path('result.docx'));
//Save it into PDF
$PDFWriter = \PhpOffice\PhpWord\IOFactory::createWriter($Content,'PDF');
$PDFWriter->save(public_path('new-result.pdf'));
}
3条答案
按热度按时间1tuwyuhd1#
你需要在服务器上安装unoconv。此外,在服务器上需要运行exec()的权限。
1.安装unoconv
sudo apt-get install unoconv
1.添加下面的行来转换所需的docx文件到pdf.
exec(“doc2pdfsample-file.docxsample-file.pdf**”);
rsl1atfo2#
您可以使用PHPWord库读取.docx文件的内容,然后使用其他库(如Dompdf或mPDF)将内容转换为.pdf文件。下面是一个例子:
你也可以使用像“phpoffice/phpword”和“barryvdh/laravel-dompdf”这样的包
然后在控制器中使用它们将docx转换为pdf
rm5edbpk3#
你也可以使用像“phpoffice/phpword”和“barryvdh/laravel-dompdf”这样的包
在config/app.php中注册服务提供程序
要注册服务提供者,请打开config/app.php文件。然后在'providers'数组末尾添加以下行:
另外,将以下行添加到末尾的“aliases”数组中。您可以使用任何别名,因为你想像我们已经使用'PDF',但您也可以使用别名一样'DoPDF','myPDF','PF'等
然后在控制器中使用它们将docx转换为pdf