1

我在我的 ubuntu 服务器上使用了 nginx 和 hhvm,并mikehaertl/phpwkhtmltopdf 在 laravel 中打包以生成 pdf,但在 HHVM 中生成的 pdf 显示以下内容,并且在我的本地机器上运行良好:

在此处输入图像描述

我的代码是:

  $logo = storage_path('logo/logo.jpg');
  $font = storage_path('fonts/IRRoya.ttf');
  $barcode = DNS2D::getBarcodePNG($order["registration_number"], "QRCODE",5,5);
  $date = jDateTime::strftime('Y-m-d H:i:s', strtotime($order['order_date']));
  $f_date = jDateTime::convertNumbers($date);
  $view =   view('bill.bill',compact('order','logo','font','barcode','f_date'));
  $pdf = new Pdf(array(
      'no-outline',
      'margin-top'    => 0,
      'margin-right'  => 0,
      'margin-bottom' => 0,
      'margin-left'   => 0,
      'disable-smart-shrinking',
      'commandOptions' => array(
          'useExec' => true,
          'procEnv' => array(
              'LANG' => 'fa_IR.utf-8',
          ),
      ),
    ));
    $pdf->addPage($view);
    $pdf->send();

我该如何解决?

4

1 回答 1

0

我找到了解决方案:

  $logo = storage_path('logo/logo.jpg');
  $font = storage_path('fonts/IRRoya.ttf');
  $barcode = DNS2D::getBarcodePNG($order["registration_number"], "QRCODE",5,5);
  $date = jDateTime::strftime('Y-m-d H:i:s', strtotime($order['order_date']));
  $f_date = jDateTime::convertNumbers($date);
  $view =   view('bill.bill',compact('order','logo','font','barcode','f_date'));
  $pdf = new Pdf(array(
      'no-outline',
      'encoding' => 'UTF-8',
      'margin-top'    => 0,
      'margin-right'  => 0,
      'margin-bottom' => 0,
      'margin-left'   => 0,
      'disable-smart-shrinking',
      'commandOptions' => array(
          'useExec' => true,
          'procEnv' => array(
              'LANG' => 'fa_IR.utf-8',
          ),
      ),
    ));
    $pdf->addPage($view);
    $content = $pdf->toString();
    return response($content)->withHeaders([
            'Content-Type' => 'application/pdf',
            'Pragma' => 'public',
            'Content-disposition' => 'attachment; filename='.$order["registration_number"].'.pdf',
            'Content-Transfer-Encoding' => 'binary',
            'Content-Length' => strlen($content)
        ]);
于 2017-05-15T16:07:32.130 回答