barryvdh laravel dompdf рендеринг всего двух страниц

#php #laravel #pdf #laravel-5 #dompdf

#php #laravel #PDF #laravel-5 #dompdf

Вопрос:

Я использую barryvdh laravel dompdf для рендеринга pdf из HTML-представления в laravel 5.7. Он работал нормально, но когда просмотр превышает более 2 страниц, он обрезает страницу и не печатает третью страницу. Однако, если я скопирую все данные страницы и вставлю их куда-нибудь еще, содержимое who будет вставлено, что означает, что содержимое каким-то образом есть, но не отображается.

Эта проблема также упоминалась в репозитории github, но никто не ответил.

Я использую Laravel 5.7

Это и есть код :

     $pdf = PDF::loadview('emails.send-email.case-email-pdf', compact('pdf_data'));


    $file_name = 'case-email-'.$data['case_id'].str_random(10).time().'.pdf';

    Storage::put($config['folder'].'/'.$file_name,$pdf->output());
 

Комментарии:

1. Не уверен, что это решение для вас, но вы можете попробовать поместить некоторые части в divs и попробовать page-break-inside:avoid; использовать эти divs. Игра с разрывами страниц помогла мне несколько раз, когда я застрял в domPDF со странным поведением.

Ответ №1:

Решение состояло в том, чтобы НЕ ИСПОЛЬЗОВАТЬ тег таблицы. Вместо этого используйте divs.

Комментарии:

1. Хорошее решение. Но я придумал кое-что еще. Я просто случайно написал какой-то неподходящий синтаксис внутри table тега, и у меня это сработало. `<таблица> <tr> <td> Мои данные </td> <td> Мои данные </td> Некоторые фиктивные данные с display: none; </tr> </table> ` И это сработало.