【问题标题】:Laravel Blade foreach loop in Laravel-DOMPDF output fileLaravel-DOMPDF 输出文件中的 Laravel Blade foreach 循环
【发布时间】:2020-06-26 04:20:04
【问题描述】:

我在使用 DOMPDF 和 Laravel Blade 时遇到问题。我正在使用 DOMPDF 根据他们的文档将刀片视图呈现为 PDF,但是当我的记录跨越一页以上时,它会将它们切断。就像overflow:hidden 被添加到页面,所以记录不会显示。你可以通过下图看到。可以清楚地看到底部还有一条记录,但是下一页是资格,而不是列表中的下一条记录。

我已经尝试使用分页符和各种方法来尝试使其正常工作,但对于我来说,这只是不想玩球。

我在他们的文档中找不到任何表明这是一个问题的内容,我不确定是什么原因造成的。

使用的包:barryvdh/laravel-dompdf

呈现的 PDF:

正在加载的视图部分:

请原谅表格,但由于 PDF 不加载 CSS3,我必须回到基础以获得 PDF 所需的正确样式结果。

<tr>
    <td class="border-b-4 border-grey-200 pb-5 mb-5">
        <table width="100%" class="mb-5" style="width:100%" border="0" cellpadding="0">
            <tr>
                <td>
                    <h1 class="text-6 text-grey-700 mb-3">Employment History</h1>
                </td>
            </tr>
        </table>
        @foreach ($employers as $employer)
        <table width="100%" class="mb-5" style="width:100%" border="0" cellpadding="0">
            <tr>
                <td class="border border-grey-200 p-5 rounded">
                    <h2 class="capitalize text-grey-700 text-lg">{{ $employer->job_title }}</h2>
                    <span class="text-grey-600">{{ $employer->employer_name }}</span>
                    <p class="my-3 text-blue-500 text-sm">
                        <span>{{ date('jS F Y', strtotime($employer->from_date)) }}</span>
                        <span> — </span>
                        @if ($employer->current != 1)
                            <span>{{ date('jS F Y', strtotime($employer->to_date)) }}</span>
                        @else
                            <span>Present</span>
                        @endif
                    </p>
                    <div class="markdown text-grey-700">{!! $employer->description !!}</div>
                </td>
            </tr>
        </table>
        @endforeach
    </td>
</tr>

PDF 控制器:

PDF::setOptions([
    'dpi' => 150,
    'defaultFont' => 'sans-serif',
    'fontHeightRatio' => 1,
    'isPhpEnabled' => true,
]);

$pdf = PDF::loadView('pdf_cv', [
    'cv' => $cv,
    'awards' => $awards,
    'employers' => $employers,
    'hobbies' => $hobbies,
    'images' => $images,
    'languages' => $languages,
    'projects' => $projects,
    'qualifications' => $qualifications,
    'skills' => $skills
]);

return $pdf->stream();

我已经完成了谷歌搜索,无数次阅读了他们的文档,但我对这个问题感到困惑,所以希望其他人也遇到过这种情况并且可以伸出援助之手。

如果您需要更多信息,我可以提供。

【问题讨论】:

    标签: laravel pdf laravel-blade dompdf


    【解决方案1】:

    问题在于表设置。我不知道到底发生了什么,因为您无法检查 PDF,但表格似乎一直重叠,导致它跑出页面。

    【讨论】:

      猜你喜欢
      • 2019-06-26
      • 2014-02-24
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 2018-04-27
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多