Как напечатать некоторую часть файла лезвия в Laravel с помощью domPDF - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно создать PDF-файл с помощью Laravel.Поэтому я устанавливаю в свой композитор domPDF.Но я должен сгенерировать PDF только с некоторыми частями моего файла blade.Я уже пытался создать новый блейд-файл и включить его в старый блейд-файл, но это возвращает мне ошибки, так как новый блейд-файл не может получить данные, которые я передал с контроллером, так что я могу сделать?

Это функция, которую я написал

    public function printPDF(){
    $pdf = PDF::loadView('pages.newblade');
    return $pdf->download('document.pdf');
    }

Спасибо

1 Ответ

0 голосов
/ 26 октября 2018

Я предлагаю вариант рефакторинга вашего кода следующим образом:

public function printPDF(){
    $printthis = true;
    $pdf = PDF::loadView('pages.newblade', compact('printthis'));
    return $pdf->download('document.pdf');
}

в pages.newblade check printthis переменная, если присутствует, означает показ содержимого для печати, в противном случае показать все так же

   @if(isset($printthis))
        //printable code goes here
   @else
        //General code goes here
   @endif
...