HTML2PDF

Bonjour à tous,

J'ai réalisé un site web sur lequel les internautes répondent à un questionnaire. Avec HTML2PDF je génère un PDF (15 pages) qui analyse les réponses (enregistrées dans ma BdD SQL). Tout fonctionne parfaitement sauf une chose : lorsque je génère le PDF en une seule fois, la qualité du CSS se dégrade et les images disparaissent à partir de la 8e page. Je suis donc obligé de générer 3 fichiers PDF (7 pages, 7 pages et 1 page). Si quelqu'un peut m'aider, je le remercie infiniment d'avance.


<script src="/feuille_PHP_code/html2pdf/dist/html2pdf.bundle.min.js"></script>

<script>
function generatePDF(){
var element = document.getElementById('pdf');
var opt = {
margin: 6,
filename: 'Profil-<?php echo "$prenom-$nom"; ?>-block-1.pdf',
image: {type: 'jpeg',quality: 1},
html2canvas: {dpi: 384, letterRendering: true},
jsPDF: {
unit: 'mm',
format: 'A4',
orientation: 'portrait'
}
};
html2pdf().set(opt).from(element).save();
}
</script>

1 réponse

  1. Modérateur
    Bonjour,
    il est sûr qu'une version côté "serveur" plutôt que "client" serait plus "fiable" ... toutesfois.. est tu sûr que ta page est totalement chargée avant de lancer l'impression ?

    Lances tu ta fonction generatePDF() une fois que le DOM is ready ?

    Et sinon, toujours avec ta génération de tes trois pdf, tu dois ensuite pouvoir les merger en utilisant la lib pdfJs
    https://github.com/mozilla/pdfjs-dist
    Je n'ai pas testé, mais regarde la réponse donnée ici : https://stackoverflow.com/questions/21478738/how-can-we-do-pdf-merging-using-javascript/21478779