I have a problem to edit my pdf with DOMPDF in Symfony 5.2.
When I run the generation of my PDF, the first time everything works, but when I start over I get a failure.
I generate a trombinoscope (image + text). I guess it's from the cache somewhere but I don't know how to do it.
TrombiController
use Dompdf\Dompdf;
use Dompdf\Options;
public function TrombiPlayers(Request $request, PlayerRepository $playerRepository)
{
$ids = $_POST['ids'];
$numbers = $_POST['numbers'];
$team = $_POST['team'];
$team = strtoupper($team);
$nums = array_intersect_key($numbers, array_flip($ids));
$players = [];
foreach ($nums as $key => $number) {
$player = $playerRepository->trombiPlayer($key, $number);
array_push($players, $player);
}
$pdfOptions = new Options();
$pdfOptions->set('defaultFont', 'Arial');
$pdfOptions->set('isRemoteEnabled', true);
$dompdf = new Dompdf($pdfOptions);
$html = $this->renderView('pdf/trombiPDF.html.twig', [
'team' => $team,
'players' => $players
]);
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->stream($team . "mypdf.pdf", [
"Attachment" => true
]);
unset($dompdf);
unset($html);
return new Response("The PDF file has been succesfully generated !");
}
trombiPDF.html.twig
<html>
<h2> EQUIPE : {{ team }} </h2>
<table class="table" id="trombiPlayerTable">
<tr class="row1">
{% for i in range(0, 3) %}
{% if (players[i] is defined) %}
<td>
<div class="card" style="max-width: 15rem;">
{% if ((players[i].photo_file_name) is not null ) %}
<img src="{{ absolute_url(asset('/uploads/photos/'~ players[i].photo_file_name)) }}" class="card-img-top"/>
{% else %}
<img src="{{ absolute_url(asset('/uploads/photos/NoPicture.jpg')) }}" class="card-img-top"/>
{% endif %}
<div class="card-body">
<div> {{players[i].number}} </div>
<div class="textBold">{{players[i].name|capitalize }} </div>
<div>{{players[i].birth|date("m/d/Y")}} </div>
</div>
</div>
</td>
{% endif %}
{% endfor %}
</tr>
...
How to reset after generating the pdf ?