繁体   English   中英

无法在php 7.1中使用mpdf生成pdf

[英]Unable to generate pdf using mpdf in php 7.1

我尝试使用mpdf生成一个简单的pdf。

这是我使用的:

1) php 7.1
2) Laravel 5.3
3) mpdf dev-master version

这就是我编写mpdf代码的方式。

    $mpdf = new \Mpdf\Mpdf();
    $mpdf->WriteHTML('<h1>Hello world!</h1>');
    $mpdf->Output("test.pdf", "D");

但是它不会下载并返回给我一些奇怪的答复。 但是它成功执行了代码。

Chrome错误

FIREFOX

火狐错误

有人能帮我吗? 整整一天都被卡住了。

假设您的代码在控制器中,则可能必须return某些内容,因此请添加return

return $mpdf->Output("test.pdf", "D");

如果仍然无法使用,您可以尝试将其返回到浏览器:

return $mpdf->Output("test.pdf", 'I');

旁注:还有一个特定于Laravel的好库,其工作原理像一个魅力: https : //github.com/barryvdh/laravel-dompdf

请执行下列操作:

  1. 确保您的项目符合mpdf要求,并且已安装所有依赖项和php库。

    需要

     ext-mbstring: * setasign/fpdi: 1.6.* php: ^5.6 || ~7.0.0 || ~7.1.0 ext-gd: * psr/log: ^1.0 paragonie/random_compat: ^2.0 

    需要(Dev)

     phpunit/phpunit: ^5.0 mockery/mockery: ^0.9.5 squizlabs/php_codesniffer: ^2.7.0 tracy/tracy: ^2.4 phpstan/phpstan: ^0.6.4 
  2. 以下代码对我有用:

     $storage_path = storage_path(); $mypdf = new mPDF(['tempDir' => $storage_path . '/app', 'margin_left' => 0, 'margin_right' => 0, 'margin_top' => 0, 'margin_bottom' => 0, 'margin_header' => 0, 'margin_footer' => 0]); $mypdf->SetDisplayMode('fullpage'); $mypdf->WriteHTML(file_get_contents($job_letter_css), 1); $mypdf->WriteHTML($content, 2); $structure = "./job_letters/{$id}/"; if (file_exists($structure)) { $file_name = $structure ."job_offer_letter.pdf"; } else { mkdir($structure, 0777, true); $file_name = $structure ."job_offer_letter.pdf"; } $mypdf->Output($file_name, 'F'); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM