mPDF仅在Mac上打印,出现格式错误:不是pdf或Windows损坏

时间:2019-02-10 17:01:58

标签: php mysqli mpdf

我使用MAC开发了一个PHP系统,因此该系统需要打印PDF,因此我使用了mPDF。该系统可以在MAC上正常运行,但是在Windows上,它会在生成的每个PDF上给我“格式错误:不是pdf或Windows损坏”的信息。

所以我做了以下事情:

  • 在Windows计算机上删除了composer require mpdf/mpdf所安装的所有文件/文件夹,并使用Composer重新安装了mpdf(我认为这是平台问题)
  • 按照here的步骤,更改权限,并将整个供应商文件夹的权限更改为775
  • 试图一点一点地输入html文本以找出问题所在,但是页面太大了(除非系统从不同的页面进行打印-都给出相同的错误。)
  • 默认文本可以正常工作,如下:

    <?php
    $path = __DIR__;
    require_once $path . '/vendor/autoload.php';
    
    $html = "Hello World";
    
    try {
    $mpdf = new \Mpdf\Mpdf([
        'margin_left' => 20,
        'margin_right' => 15,
        'margin_top' => 68, //48
        'margin_bottom' => 25,
        'margin_header' => 30, //10
        'margin_footer' => 10
    ]);
    
    $mpdf->SetProtection(array('print'));
    $mpdf->SetTitle("Report");
    $mpdf->SetAuthor("Vincent H Guyo.");
    $mpdf->SetWatermarkImage("logo.jpg");
    $mpdf->showWatermarkImage = true;
    $mpdf->watermark_font = 'DejaVuSansCondensed';
    $mpdf->watermarkTextAlpha = 0.1;
    $mpdf->SetDisplayMode('fullpage');
    $mpdf->WriteHTML($html);
    $mpdf->Output();
    } catch (\Mpdf\MpdfException $e) { // Note: safer fully qualified exception name used for catch
    // Process the exception, log, print etc.
    echo $e->getMessage();
    }
    ?>
    

因此,在我尝试将$ html变量更改为所需值的那一刻,这很好用,那就是问题来了。

非常欢迎和需要任何帮助或指示。请帮忙。

谢谢。

0 个答案:

没有答案