首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHPword中使用Mpdf库。如何将.docx文件生成为.pdf文件

如何在PHPword中使用Mpdf库。如何将.docx文件生成为.pdf文件
EN

Stack Overflow用户
提问于 2020-12-01 07:08:16
回答 1查看 1.8K关注 0票数 1

我有个问题。当我试图在Laravel (PHP)上将word.docx文件生成为pdfFile.pdf文件时,使用库mPDF,我得到了以下错误:

PDF呈现库或库路径尚未定义。

我找不到解决办法。请帮帮我。提前谢谢你。

控制器文件中的我的代码:

代码语言:javascript
复制
public function wordToPdf(){
    $domPdfPath = base_path('vendor/mpdf/mpdf');
    \PhpOffice\PhpWord\Settings::setPdfRendererPath($domPdfPath);
    \PhpOffice\PhpWord\Settings::setPdfRendererName('mPDF');
    
    //Load word file
    $Content = \PhpOffice\PhpWord\IOFactory::load(public_path( '/uploads/word/no12.docx'));
    
    //Save it into PDF
    $PDFWriter = \PhpOffice\PhpWord\IOFactory::createWriter($Content,'PDF');
    $PDFWriter->save(public_path( '/uploads/word/result3.pdf'));
    return $PDFWriter;
}

如果有人知道的话请帮帮我..?

EN

回答 1

Stack Overflow用户

发布于 2020-12-01 07:39:24

我有同样的问题,但不同的库,这是因为,Laravel无法找到您的PDF呈现库的基本路径,这是相当明显的错误。

您所要做的就是定义一条通往domPDF的路径。更好的方法是定义一个常量,然后访问它。你是怎么做到的:

  1. 在您的config文件夹中创建一个您想要的任何名称的文件,constants.php将是一个很好的实践,因为您正在为您的应用程序定义常量。
  2. 在该文件'your_var_name' => realpath(__DIR__),中定义一个常量。
  3. 在cmd:php artisan config:cachephp artisan cache:clear中运行以下命令来清除和缓存最新的信任。
  4. 现在,在控制器中设置以下设置:

代码语言:javascript
复制
// access your constant using laravel's helper config();
$domPdfPath = realpath(config('constant.your_var_name').'/../vendor/dompdf/dompdf');

Settings::setPdfRendererPath($domPdfPath);

Settings::setPdfRendererName('DomPDF');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65086100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档