Bonjour à tous,
Mon fichier rapport s'affiche correctement sur mon ordinateur portable, mais sur ordinateur bureau, j'ai comme erreur : Échec de chargement du document PDF.
En cherchant la cause, je constate que le problème se situe au niveau des caractères à afficher.
voici les données qui créees le problème.
<tr>
<td><h6>{{Affaire.DOS_NUM}}</h6></td>
<td><h6>{{Affaire.AFF_NUM}}</h6></td>
<td><h6>{{Affaire.SOUAFF_NUM}}</h6></td>
<td><h6>{{Affaire.SOUAFF_NOMINCULP|raw}}</h6></td>
<td>
<h6>
{% if Affaire.SOUAFF_TYPEDETENTION %}
Detenu
{% else %}
Non detenu
{% endif %}
</h6>
</td>
<td><h6>{{Affaire.SOUAFF_DATE|date('d-m-Y')}}</h6></td>
<td><h6>{{Affaire.SOUAFF_DATE_FIN|date('d-m-Y')}}</h6></td>
<td><h6>{{Affaire.SOUAFF_NATUREAFFAIRE|raw }}</h6></td>
<td><h6>{{Affaire.SOUAFF_DATEACTE|date('d-m-Y')}}</h6></td>
<td><h6>{{Affaire.SOUAFF_NATUREACTE|raw }}</h6></td>
<td><h6>{{Affaire.SOUAFF_OBSERVATION|raw }}</h6></td>
<td><h6>{{Affaire.OBSR_OBSERVATION_ATTRIBUTION|raw }}</h6></td>
</tr>
aidez moi à trouver une solution au problème.
mon fichier controller
/**
* @Route("/cst/reporting/Not", name="reporting")
*/
public function Notice(EntityManagerInterface $manager, request $request)
{
$NameFille = "Repport_notice.pdf";
$Annee = $request->request->get('annee');
$Mois = $request->request->get('mois');
$repositoryAnnees = $manager->getRepository(Annee::class);
$Annees = $repositoryAnnees->findBy(['id' => $Annee]);
$repositoryMois = $manager->getRepository(Mois::class);
$Moiss = $repositoryMois->findBy(['id' => $Mois]);
$repositoryNot = $manager->getRepository(Not::class);
$Nots = $repositoryNot->findBy(['ANNEE_ID' => $Annee, 'MOI_ID' => $Mois]);
$AffairesNots = $repositoryNot->Reporting();
$pdfOptions = new Options();
$pdfOptions->set('defaultFont', 'Arial');
$dompdf = new Dompdf($pdfOptions);
$html = $this->renderView('csm_reporting/Notice.html.twig', [
'Annees' => $Annees[0]->getANLIBELLE(),
'Moiss' => $Moiss[0]->getMOILIBELLE(),
'Nots' => $Notices,
'AffairesNots' => $AffairesNots,
]);
$dompdf->loadHtml($html);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream($NameFille, [
"Attachment" => false
]);
return new Response('', 200, [
'Content-Type' => 'application/pdf',
]);
}
mon fichier twig
{% for Not in Nots %}
<h5 class="card-title">NOTICE : <b>{{Not.getNOTLIBELLE()}} CABINET D'INSTRUCTION : {{Not.getCABID()}}</b></h5>
<div class="table-responsive">
<table>
<thead>
<tr>
<th rowspan="2"><center>N° DOS</center></th>
<th colspan="2"><center>N°AFFAIRES</center></th>
<th rowspan="2"><center>INCULPE</center></th>
<th rowspan="2"><center>DETENTION</center></th>
<th rowspan="2"><center>DATES FAIT</center></th>
<th rowspan="2"><center>DATE DU REQUISITOIRE</center></th>
<th rowspan="2"><center>NATURE AFFAIRE</center></th>
<th rowspan="2"><center>DATE ACTE</center></th>
<th rowspan="2"><center>NATURE ACTE</center></th>
<th colspan="2"><center>OBSERVATION</center></th>
</tr>
<tr>
<th><center>N°AFF</center></th>
<th><center>N°SOUS A</center></th>
<th><center>JUG.</center></th>
<th><center>CSM</center></th>
</tr>
</thead>
<tbody>
{% for Affaire in AffairesNots %}
{% if Not.getId()== Affaire.id %}
<tr>
<td><h6>{{Affaire.DOS_NUM}}</h6></td>
<td><h6>{{Affaire.AFF_NUM}}</h6></td>
<td><h6>{{Affaire.SOUAFF_NUM}}</h6></td>
<td><h6>{{Affaire.SOUAFF_NOMINCULP|raw}}</h6></td>
<td>
<h6>
{% if Affaire.SOUAFF_TYPEDETENTION %}
Detenu
{% else %}
Non detenu
{% endif %}
</h6>
</td>
<td><h6>{{Affaire.SOUAFF_DATE|date('d-m-Y')}}</h6></td>
<td><h6>{{Affaire.SOUAFF_DATE_FIN|date('d-m-Y')}}</h6></td>
<td><h6>{{Affaire.SOUAFF_NATUREAFFAIRE|raw }}</h6></td>
<td><h6>{{Affaire.SOUAFF_DATEACTE|date('d-m-Y')}}</h6></td>
<td><h6>{{Affaire.SOUAFF_NATUREACTE|raw }}</h6></td>
<td><h6>{{Affaire.SOUAFF_OBSERVATION|raw }}</h6></td>
<td><h6>{{Affaire.OBSR_OBSERVATION_ATTRIBUTION|raw }}</h6></td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
</div>
{% endfor %}
Ce que je veux
Décrivez ce que vous cherchez à obtenir.
Ce que j'obtiens
Décrivez vos éventuelles erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
j'ai trouvé la solution en ajoutant ceci à mon CSS
* {
font-family: DejaVu Sans, sans-serif;
}
si vous n'avez pas de css faites ceci :
<style>
* {
font-family: DejaVu Sans, sans-serif;
}
</style>