Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > PDF
PDF Forum d'entraide sur la gestion dynamique de documents PDF avec PHP. Exemples : PDFLib, eZPdf, PhpToPdf... Avant de poster -> FAQ PDF et Cours PDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/04/2012, 16h22   #1
Retyo
Invité de passage
 
Inscription : avril 2012
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2012
Messages : 2
Points : 0
Points : 0
Par défaut Saut de pages dans un pdf avec dompdf

Bonjour,

J'ai un gros soucis que je ne parviens pas à résoudre.

Je ne parviens pas à générer un pdf de plus de une page

Je vous explique :


J'ai fait un petit module de recherche qui permet de récupérer une liste d'application. Le coté recherche dans la base de donnée s'exécute bien de même que l'affichage (HTML et CSS).

Maintenant je voudrais exporter ce tableau dans un fichier PDF.

Pour cela j'utilise dompdf 0.5.2 (dernière version valide, la 0.6 est une beta) car dompdf permet de créer un pdf à partir d'une page HTML (passé en variable) et le rendu est plutôt bon.

Mon souci c'est que si j'ai un résultat supérieur à 10 applications, ce qui correspond à une page PDF, le PDF ne se génère pas et j'ai une jolie erreur de dompdf.

L'erreur provient du fait qu'il essai de rentrer un tableau trop gros dans une seule page, ce qui naturellement n'est pas possible. Et je n'ai trouvé aucun moyen de faire en sorte que dompdf me fasse des pdf de plusieurs pages afin d'y rentrer toutes les lignes de mon tableau

Voici mon code php pour la génération du PDF :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
require_once '../lib/dompdf-0.5.2/dompdf_config.inc.php';
 
// Fonction qui génére le PDF
// Paramètre : la page HTML à convertir en PDF
function GenPDF($pageHtml){
 
    // Créer un nouveau PDF
    $dompdf = new DOMPDF();
 
    // Définit la composition des pages, ici les pages seront en portrait
    $dompdf->set_paper('legal', 'landscape');
 
    // Charge la page HTML
    $dompdf->load_html(str_replace('Contacts','',$pageHtml));
 
    // Créer le PDF à partir de la page HTML chargée
    $dompdf->render();
 
    // Propose à l'utilisateur d'afficher ou d'enregistrer le PDF
    $dompdf->stream("liste_applications.pdf");
 
}
GenPDF(urldecode($_POST['pdf']));
?>

Et voici le petit bout de code qui envoi la variable contenant la page HTML par un formulaire :


Code :
1
2
3
4
5
6
7
<!-- Formulaire avec en champ caché la variable contenant la page HTML encodé afin d'éviter les problèmes de cotes -->
<div>
    <form action="gen_pdf.php" method="post">
                <input type="hidden" name="pdf" value=<?php echo urlencode($pageHtml); ?>/>
                <input src="../images/icon_pdf.png" type=image value=submit align="top-right"/>
    </form>
</div>

Je ne parviens pas à faire des PDF de plusieurs pages, je n'ai pas réussi à utiliser les saut de pages en css : page-break-after et before (je les ai peut être mal utilisé ) et je n'ai pas trouvé de fonction dompdf le faisant (je pensait que ça le ferait automatiquement).

Je vous serez très reconnaissant de pouvoir m'aider sur ce coup là car je bloque vraiment.

Merci par avance
Retyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2012, 21h24   #2
Thes32
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur PHP, .Net, T-SQL
Inscription : décembre 2006
Messages : 2 354
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur PHP, .Net, T-SQL

Informations forums :
Inscription : décembre 2006
Messages : 2 354
Points : 4 628
Points : 4 628
Salut,

As tu testé que le rendu de ta page est bonne à la réception ?

Tu peux tester avec :

Code :
1
2
 
echo str_replace( 'Contacts', '', $pageHtml );
__________________
Développeur | Zend Certified Engineer

Étapes Pour mieux se servir du forum:
1. Commencez par lire les cours et tutoriels ;
2. Faites une recherche;
3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

Nix>_Rien n'est plus pratique que la théorie
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2012, 16h10   #3
Retyo
Invité de passage
 
Inscription : avril 2012
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2012
Messages : 2
Points : 0
Points : 0
Bonjour, finalement j'ai réglé mon problème.

Pour ce faire j'ai abandonné dompdf pour utilisé fpdf, j'ai donc créer à la main mon tableau dans mon pdf.

Merci quand même
Retyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h25.


 
 
 
 
Partenaires

Hébergement Web