Я использую Dompdf в моем проекте Symfony 4 для создания PDF. Для рендеринга PDF, я делаю рендер на ветке файла. И в этом файле ветки мне нужно отобразить изображения, которые я ранее загружал через VichUploaderBundle.
Итак, в моем контроллере я включил эту опцию:
$pdfOptions->setIsRemoteEnabled(true);
И в моей ветке япроверил абсолютный путь моего изображения:
{{ dump(absolute_url(vich_uploader_asset(parametresAdmin, 'logoFile'))) }}
И у меня есть это:
"http://127.0.0.1:8000/admin/logo/avatar2.jpg"
Эта ссылка заставляет меня чувствоватьхорошо с моим изображением.
Теперь, если я попытаюсь вставить его в свой PDF-файл следующим образом:
<img style="width:90px;" src="{{absolute_url(vich_uploader_asset(parametresAdmin, 'logoFile'))}}">
И что я перезапущу URL, чтобы сгенерировать PDF-файл, он превратится в цикли перестаньте говорить, что время ожидания превышено.
Так, как я могу вставить свою ссылку для создания моего pdf?
Мой контроллер:
/**
* Générer un PDF
* @Route("/absence/pdf", name="absence_pdf")
*
* @return void
*/
public function createPDF(ParametresAdminRepository $repoParametres)
{
$parametresAdmin = $repoParametres->findAll();
if (isset($parametresAdmin[0])) {
$parametresAdmin = $parametresAdmin[0];
} else {
$parametresAdmin = new ParametresAdmin();
}
// Configure Dompdf according to your needs
$pdfOptions = new Options();
$pdfOptions->setIsRemoteEnabled(true);
// Instantiate Dompdf with our options
$dompdf = new Dompdf();
$dompdf->setOptions($pdfOptions);
// $dompdf->set_option('isHtml5ParserEnabled', true);
// Retrieve the HTML generated in our twig file
$html = $this->renderView('absence/pdf.html.twig', [
'title' => "Welcome to our PDF Test",
'parametresAdmin' => $parametresAdmin
]);
// Load HTML to Dompdf
$dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation 'portrait' or 'portrait'
$dompdf->setPaper('A4', 'portrait');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser (inline view)
$dompdf->stream("mypdf.pdf", [
"Attachment" => false,
]);
}
Моя веточка:
<code><html>
<head>
<meta charset="UTF-8">
<title>Title of the PDF</title>
</head>
<body>
<h4>{{ title }}</h4>
<pre>
{{ dump(absolute_url(vich_uploader_asset(parametresAdmin, 'logoFile'))) }}
Lorem Ipsum
{% if parameters_Admin.logoName%}{% endif%}