【问题标题】:Laravel DOMPDF not generating HTML pdf file with dynamic dataLaravel DOMPDF 不生成带有动态数据的 HTML pdf 文件
【发布时间】:2015-11-07 19:43:49
【问题描述】:

大家好,我正在尝试使用 barryvdh/laravel-dompdf,一切正常,除了我无法将数据加载到视图以动态生成内容,我不断收到“未定义的变量:数据”

这是我的代码:

  $data =[
    'fname'=>Input::get('efname'),
    'lname'=>Input::get('elname'),
    'dob'=>Input::get('edob'),
    'reg_date'=>date('Y-m-d'),
    'email'=>Input::get('eemailaddrs'),
    'gender'=>Input::get('gender'),
    'mobile'=>Input::get('emobile'),
    'p_addrss'=>Input::get('epaddress'),
    'c_addrss'=>Input::get('ecaddress'),
    'quals'=>Input::get('quali'),
    'pdfname'=>$pdfname,
    'empId'=>Input::get('employeeId'),
    ];
return PDF::loadView('employee/generatepdf',$data)
        ->save(public_path().'/pdfs/'.$pdfname.'.pdf');

它进入 pdf 模板页面..但无法获取数组值。

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<img align="center" src="{{public_path()}}/assets/img/logo.png">
<table align="center" style="width:100%;margin-top:25px;">
<tr>
    <td style="width:50%">Registration ID</td>
    <td style="width:50%">:{{$data['empId']}}</td>
</tr>
<tr>
    <td style="width:50%">Name</td>
    <td style="width:50%">:{{$data['fname']}} {{$data['lname']}}</td>
</tr>
</table>
</body>
</html>

也不将 css 规则写入 pdf 文件。

我该如何解决这个问题...?

谢谢

【问题讨论】:

    标签: php pdf laravel-4 dompdf


    【解决方案1】:

    您可以通过以下方式检查数组是否包含数据:

        $data =[
        'fname'=>Input::get('efname'),
        'lname'=>Input::get('elname'),
        'dob'=>Input::get('edob'),
        'reg_date'=>date('Y-m-d'),
        'email'=>Input::get('eemailaddrs'),
        'gender'=>Input::get('gender'),
        'mobile'=>Input::get('emobile'),
        'p_addrss'=>Input::get('epaddress'),
        'c_addrss'=>Input::get('ecaddress'),
        'quals'=>Input::get('quali'),
        'pdfname'=>$pdfname,
        'empId'=>Input::get('employeeId'),
        ];
      dd($data);
     return PDF::loadView('employee/generatepdf',$data)->save(public_path().'/pdfs/'.$pdfname.'.pdf');
    

    试一试,你会发现你的数组是否包含数据

    【讨论】:

      【解决方案2】:

      这样试试 使用数组作为视图的第二个参数。

      return PDF::loadView('employee/generatepdf',array('data'=>$data));
      

      【讨论】:

        【解决方案3】:

        您需要使用compact() 函数传递$data 变量

        return PDF::loadView('employee/generatepdf',compact('data'))
            ->save(public_path().'/pdfs/'.$pdfname.'.pdf');
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-08-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多