Добавьте верхний колонтитул на каждой странице PDF-файла из html, используя пакет Barryvdh Laravel - PullRequest
0 голосов
/ 20 марта 2020

Я собираюсь создать PDF-файл из HTML, используя пакет Barryvdh Laravel. Мне нужно добавить верхний и нижний колонтитулы на каждую страницу, так как это многостраничный документ.

1 Ответ

0 голосов
/ 20 марта 2020

Я немного огляделся и думаю, что две ссылки ниже помогут вам решить вашу проблему:

1- https://github.com/barryvdh/laravel-snappy/issues/139#issuecomment -369050826

Создайте маршрут, который отображает html для верхнего / нижнего колонтитула, и передайте полный URL-адрес этому маршруту в качестве опции.

$html = view()->make("juiztramp.exporter.pdf.grupos")
            ->with("provas",$ordens_de_passagem)
            ->render();

$headerHtml = view()->make('juiztramp.exporter.pdf.header')
            ->with('nomeEvento',  $nomeEvento)
            ->with('dataEvento',  $dataEvento)
            ->with('localEvento', $localEvento)
            ->render();

$footerHtml = view()->make('juiztramp.exporter.pdf.footer')
            ->with('organizacao', $organizacao)
            ->render();

И позже

$options = [
            'orientation'   => 'portrait',
            'encoding'      => 'UTF-8',
            'header-html'   => $headerHtml,
            'footer-html'   => $footerHtml,

            // further options....
        ];

return response(
            $snappy->getOutputFromHtml($html, $options),
            200,
            [
                'Content-Type'          => 'application/pdf',
//                'Content-Disposition'   => 'attachment; filename="'.$filename.'"',
                'Content-Disposition'   => 'filename="'.$filename.'"',
            ]
        );

пример заголовка

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <table>
        <tbody>
            <tr>
                <td style="width: 200px; background-color: #00be67;"> {{ $nomeEvento }} </td>
                <td style="width: 500px; background-color: #0a94e3;" align="center"> {{ $localEvento }} </td>
                <td style="width: 200px; background-color: #7b3f25" align="right"> {{ $dataEvento }} </td>
            </tr>
        </tbody>
    </table>
</body>
</html>an
...