PDF поколения php - передавать данные каждый раз или использовать шаблон? - PullRequest
0 голосов
/ 23 мая 2018

Я делаю PDF-файл с php.В настоящее время использую dompdf, но открыт для предложений.Данные также будут извлекаться из базы данных. ++ // ссылка на пространство имен Dompdf использует Dompdf \ Dompdf;

Я создаю форму, в которой я заполняю поля именем пользователя, вошедшего в систему.

Создание PDF каждый раз: (просто и пример) Трудно объединить переменные php с HTML-кодом для создания целого документа

$variable= Variable::findOrFail(session('id'));

$dompdf = new Dompdf();
$dompdf->loadHtml('$variable');
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream();

Или я должен сделать вид, который я превращаю в PDF?

$pdf = PDF::loadView('pdf.invoice', $data);
return $pdf->download('invoice.pdf');

1 Ответ

0 голосов
/ 23 мая 2018
  1. Если ваш шаблон не включает JS и его функции, DomPDF является хорошим выбором, если вы используете шаблон в представлении.Однако (просто дополнительная информация), если ваш шаблон использует JS, например: рисовать заряд, элемент анимации, ..., вам следует wkhtmltopdf.

  2. Вы используете метод loadViewusing собирается использовать метод extract перед передачей данных в представления.Этот метод извлекает все элементы массива и создает для них переменные на основе ключа элемента.Поэтому, когда вы передаете массив типа ['a' => 'aVal'], вы можете использовать переменную $a в своем шаблоне (которая будет возвращать aVal).В вашем случае используйте $data = ['variable' => $variable]. Это правильный путь.

И, если вы хотите передать несколько переменных: $data = ['var1' => $var1, 'var2' => $var2, etc].Удачи!

...