dompdf不会在laravel中从html呈现Table

时间:2018-03-15 18:49:58

标签: laravel dompdf

我在我的laravel项目中使用dompdf。 我正在尝试生成包含表格的PDF。表格的所有数据都在生成,但表格边框没有显示。

但是当我在浏览器中生成html时,它在表格的100%宽度下正常工作,但在PDF中没有达到100%的宽度。

我的控制器代码:

    $users  = $course->users()
                        ->withPivot('section_id')
                        ->wherePivot('section_id', '=', $section->id)
                        ->orderBy('student_id', 'asc')
                        ->get();

    $season = Season::where('is_ended', 0)->first();

    $pdf = PDF::loadView('sections.attendace', compact('users', 'course', 'season', 'section'));

    return $pdf->stream('attendance.pdf');

刀片代码:

        <div class="attendance-table">

            <table class="table-bordered">

                <tr>
                    <th class="attendance-cell">ID</th>
                    <th class="attendance-cell">Name</th>
                    @for($i = 1; $i<=9; $i++)
                        <th class="blank-cell attendance-cell">{{$i}}</th>
                    @endfor
                </tr>

                @foreach($users as $user)
                    <tr>
                        <td class="attendance-cell">{{$user->student_id}}</td>
                        <td class="attendance-cell">{{ucwords($user->name)}}</td>
                        @for($i = 1; $i<=9; $i++)
                            <td class="blank-cell attendance-cell">{{$i}}</td>
                        @endfor
                    </tr>
                @endforeach

            </table>

        </div>

CSS

.attendance-table table{
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #000;
}

.blank-cell{

  min-width: 50px;


}

.attendance-cell{

  padding: 8px;


}

.attendance-table table th.attendance-cell, .attendance-table table td.attendance-cell {
    border: 1px solid #000;
}

生成的PDF

Generated PDF

生成的HTML

Generated HTML

现在,我如何获得边框以及如何获得100%的宽度?

1 个答案:

答案 0 :(得分:2)

我也遇到了同样的问题,所以我将CSS放在了<style>标签中的刀片本身。

DOMPDF不会从.css文件中提取。

希望这有帮助!