Search code examples
laravelpdflaravel-5hhvmphpwkhtmltopdf

Generate pdf in HHVM not work


I used nginx and hhvm on my ubuntu server , and mikehaertl/phpwkhtmltopdf package in laravel for generating pdf but generated pdf in HHVM shows content below and in my local machine works good:

enter image description here

My code is :

  $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();

How can i fix it?


Solution

  • I found the solution :

      $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)
            ]);