Aller au contenu

Sujets conseillés

Posté

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

Posté

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 ?

Posté

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é]

Posté

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...

Posté

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 ?? :

<?php
require('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();
?>

Posté

Sans avoir testé, je dirais qu'a priori si tu fais

echo $pdf->page

ca dvrait renvoyer ton nombre de pages....

Posté

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 !

Posté
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 :?:

Posté

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 ?)

Posté (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é par tim4info

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...