tim4info Posté 27 Novembre 2006 Partager Posté 27 Novembre 2006 Bonjour à tous, voila j'utilise la libraire FPDF pour créer des documents PDF à partir d'une base de données. Jusque là aucun problème. Aujourd'hui, le contenu peut varier d'un document à un autre est présenté un nombre de pages différents. Or, je n'arrive pas à trouver le moyen de récupérer le nombre de pages de mon fichier pdf. J'essaye avec AliasNbPages() mais je n'ai pas bien compris le fonctionnement, bref, si quelqu'un avez une solution à me fournir ?? Merci d'avance ! Tim Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeromnimo Posté 27 Novembre 2006 Partager Posté 27 Novembre 2006 Bonjour, apparement tu ne peux pas récupérer directement le nombre de pages du documents. Par contre, si tu utilises la chaine {nb} dans une ligne de texte, elle sera remplacée par le nombre de page (je n'ai jamais utilisé la lib, mais je viens de le lire dans la doc) Que veux-tu faire exactement ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 27 Novembre 2006 Partager Posté 27 Novembre 2006 AliasNbPages() n'est pas à appeler dans le document lui-même, mais lors de la génération (une fois que le nombre de pages est connu). Dans le principe, il remplacera une valeur prédéfinie (par défaut, "{nb}"), par le nombre de pages. C'est seulement à la fin de ton code, juste avant l'export, que tu pourras ajouter $pdf->AliasNbPages(); [Edit: bon, ben grillé] Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeromnimo Posté 27 Novembre 2006 Partager Posté 27 Novembre 2006 Sinon apres un survol rapide des sources, il semblerait que ce soit la variable page de la classe qui contienne le nombre de pages.... donc apres avoir créé un objet fpdf ($objet), la variable $objet->page devrait contenir ce que tu veux... Attention, cette solution n'a rien d'officielle mais elle peut dépaner... Lien vers le commentaire Partager sur d’autres sites More sharing options...
tim4info Posté 27 Novembre 2006 Auteur Partager Posté 27 Novembre 2006 Merci pour votre aide, mais je comprend toujours pas !! avec ce code, pouvez vous m'indiquer comment par exemple je peux afficher le nombre de pages ?? : <?phprequire('fpdf.php');$pdf=new FPDF();$pdf->AddPage();$pdf->SetFont('Arial','B',16);$pdf->Cell(40,10,'Hello World !');$pdf->Output();ici(après le output()) ? $pdf->AliasNbPages();?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jeromnimo Posté 27 Novembre 2006 Partager Posté 27 Novembre 2006 Sans avoir testé, je dirais qu'a priori si tu fais echo $pdf->page ca dvrait renvoyer ton nombre de pages.... Lien vers le commentaire Partager sur d’autres sites More sharing options...
tim4info Posté 27 Novembre 2006 Auteur Partager Posté 27 Novembre 2006 Ok merci! En fait, ça fonctionne bien mais pas dans mon cas. J'utilise le total de nombre de pages pour l'afficher dans le pied de page (Footer()) $nbpages=$pdf->page; Mon pied de page me renvoie le nombre de pages totales seulement pour la dernière page, les autres sont vides. Logique ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 27 Novembre 2006 Partager Posté 27 Novembre 2006 C'est pour ça que tu dois mettre {nb} dans ton footer. Ensuite, avant $pdf->output(), tu fais $pdf->AliasNbPages() Lien vers le commentaire Partager sur d’autres sites More sharing options...
tim4info Posté 28 Novembre 2006 Auteur Partager Posté 28 Novembre 2006 C'est pour ça que tu dois mettre {nb} dans ton footer. A quel endroit dois-je mettre {nb} dans mon footer ? Faut-il les accolades ?? Lorsque j'essaye, j'ai soit un message d'erreur soit nb en texte qui s'affiche et non la valeur qu'il contient...comment faire svp Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 28 Novembre 2006 Partager Posté 28 Novembre 2006 En toute logique, il faut y mettre les accolades. Es-tu bien sûr de mettre $pdf->AliasNbPages() à la fin de la génération de ton document, AVANT la génération du fichier ? (et as-tu penser à adapter la variable si tu n'as pas utilisé $pdf ?) Lien vers le commentaire Partager sur d’autres sites More sharing options...
tim4info Posté 28 Novembre 2006 Auteur Partager Posté 28 Novembre 2006 (modifié) $pdf->Cell(0,40,"{nb}",0,0); Merci beaucoup ! En utilisant cette méthode, j'arrive à avoir mon nombre de pages ! Impec'. Mais, je me demandai s'il y a possibilité d'utiliser {nb} dans une variable ou une constante ?? En tout cas un grand merci pour votre aide :!: :!: Modifié 28 Novembre 2006 par tim4info Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant