Conversion d'un rendu html en pdf
Fermé
Flatbeat
Messages postés
30
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
7 février 2010
-
17 janv. 2010 à 23:59
Flatbeat - 20 janv. 2010 à 23:47
Flatbeat - 20 janv. 2010 à 23:47
A voir également:
- Conversion d'un rendu html en pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Comment faire un pdf - Guide
- Comment modifier un pdf - Guide
- Comment réduire la taille d'un pdf - Guide
- Save as pdf - Télécharger - Bureautique
3 réponses
le hollandais volant
Messages postés
4998
Date d'inscription
samedi 8 mars 2008
Statut
Membre
Dernière intervention
23 décembre 2023
1 056
18 janv. 2010 à 00:06
18 janv. 2010 à 00:06
Salut !
Le problème est donc le rendu. Créer un PDF, c'est utiliser une imprimante "virtuelle". Pour imprimer, il faut des styles CSS en particulier.
Par défaut, les styles des sites web sont les styles "screen" (pour l'écran). Mais on peut aussi définir des styles CSS qui ne seront utilisé et visibles qu'à l'impression.
Par exemple, si je met ceci dans mon fichier CSS :
La page s'affichera en rouge sur fond vert à l'écran mais quand on imprimera la page, ce sera en noir sur fond blanc.
Il te faut donc afficher la page HTML avec ce systèmes de CSS puis arriver à automatiser l'impression via PHP ou autre.
Le problème est donc le rendu. Créer un PDF, c'est utiliser une imprimante "virtuelle". Pour imprimer, il faut des styles CSS en particulier.
Par défaut, les styles des sites web sont les styles "screen" (pour l'écran). Mais on peut aussi définir des styles CSS qui ne seront utilisé et visibles qu'à l'impression.
Par exemple, si je met ceci dans mon fichier CSS :
@media screen { body { background-color: green; color: red; } } @media print { body { background-color: white; color: black; } }
La page s'affichera en rouge sur fond vert à l'écran mais quand on imprimera la page, ce sera en noir sur fond blanc.
Il te faut donc afficher la page HTML avec ce systèmes de CSS puis arriver à automatiser l'impression via PHP ou autre.
J'ai finallement utilisé dompdf qui fonctionne parfaitement.
Pour prévisualiser le fichier, j'ai juste intégrer le fichier PDF dans la page avec
<object id="render_preview_pdf" data="<?php echo APPLICATION_URL . 'pdf/' . $sFilePdf; ?>" type="text/html" codetype="application/pdf" width="100%" height="100%; ">
</object>
Mon problème est que je regénere le fichier avec des appels ajax. Le fichier est donc modifié sur le serveur. Cependant, dans la preview (que je regenere evidemment), l'ancien fichier est en cache, donc on ne peut pas voir le nouveau PDF.
Est-il possible de désactiver la mise en cache du PDF ?
Merci d'avance !
Pour prévisualiser le fichier, j'ai juste intégrer le fichier PDF dans la page avec
<object id="render_preview_pdf" data="<?php echo APPLICATION_URL . 'pdf/' . $sFilePdf; ?>" type="text/html" codetype="application/pdf" width="100%" height="100%; ">
</object>
Mon problème est que je regénere le fichier avec des appels ajax. Le fichier est donc modifié sur le serveur. Cependant, dans la preview (que je regenere evidemment), l'ancien fichier est en cache, donc on ne peut pas voir le nouveau PDF.
Est-il possible de désactiver la mise en cache du PDF ?
Merci d'avance !