[ver 3.13][PHP5]
Bonjour tout le monde,
j'aimerai bien faire un Sommaire dans mes Doc PDF. Mais je n'arrive pas pour le moment et je crois meme que c impossible.
Exemple de mon Template:
<h4>Titre 1</h4>
Text...
text...hghg
<h4>Titre 2</h4>
Text...
text...hghg
<h4>Titre 3</h4>
Text...
text...hghg
J'ai programer une fonction qui cherche les titres et qui les trouve mais mon probleme est d'ajouter le numero de la page actuelle á cote
(exemple:
Titre 1 page 1
Titre 2 page 2
....)
et ca c dur!!!
Est ce que vous avez une idee?
Merci
Spipu Le 26/09/2008 à 23:32 heu, ca, ca risque d'être un peu plus dure pour le numéro des pages.
par contre, tu pourrais déjà mettre les liens sur ton sommaire (cf l'exemple sur le lien interne, le 7 il me semble)
après, si tu contrôle bien tes sauts de page avec la balise page, tu peux faire un truc qui compte ces balises
[Ver 3.13][PHP5]
c ca le Probleme c que les donnés sont dynamiques et peuvent etre long donc je ne peut pas controler les pages a part quelques unes comme la premiere page.
Mais j'ai penser á un truc pareil c le fait de compter les Headers ou Footers mais je ne crois pas que ca va marcher.
le fait d'utiliser [[page_cu]] donne toujour la meme page aktuelle exemple:
1 Titre1 page 2
2 Titre2 page 2
3 Titre3 page 2
.....
breff je crois que la seule solution qui peut exister c de creer le pdf et essayer de le korriger apres mais ca va etre copliquer aussi.
aparemment fpdf á une methode pour ca.
- la Page de Sommaire est la dérniere page qui se construit
- FPDF enregistre les pages dans un array avant d'imprimer le pdf
- cet array est retravaillé c á d que la dérniere page (celle avec le sommaire) devient la 2eme aprés la premiere page
est ce que cette methode peut etre rajoutée dans votre bibliotheque? et si je veu l'ajouter dans ta bibliotheque ou je peut trouver cet array dans la bibliotheque?
Merci d'avance
Spipu Le 29/09/2008 à 14:27 as-tu plus de détails sur cette méthode ? où as-tu vu ces informations ?
C'est un copin qui a travaillé avec et je vais lui demander des Détails. Car ca facilitra la recherche et en plus lui est un bon programmeur et pas comme moi etudiant debutant.
a bietot
Pas encore! je suis en vacances pour quelques jours.
Mais la semaine prochaine je reprend la recherche.
@+
bon j'en profite de cet apremidi pour bosser un peu.
il m'a poster un code que j'ai pas bien compris mais peut etre toi???
PageNo() // c le numero de la page actuelle et il donne comme exemple:$pdf->PageNo() + 2;
le pdf qui contient tout le pdf s'appele "pages" // et il donne encore un exemple: count($pdf->pages); pages contient tout le pdf
et il ya ca avec (un autre exemple):
$numerodespages = count($Pdf->pages); // $Pdf->pages contient tout le PDF
$Pdf->page = count($Pdf->pages); // le nombre des pages
$sommaire = array_pop($Pdf->pages);
$aide = array();
$aide[1] = $Pdf->pages[1];
$aide[2] = $sommaire;
for($i = 2; $i <= $oPdf->page - 1; $i++) {
$aide[$i + 1] = $Pdf->pages[$i];
}
$aide[2] = str_replace("(Page ".$numerodespages."/{nb})", "(Page 2/{nb})", $aide[2]); // pour corriger les numeros des pages .
$Pdf->pages = $aide;
$Pdf->ClosePdf();
$Pdf->printPdf($sPdfName);
// ceux la sont des methodes fpdf
function ClosePdf()
{
//terminer un document
$this->state = 3;
//comme ca on enleve le dernier footer de la derniere page
$this->InFooter=false;
//Close page
$this->_endpage();
//fermer le document
$this->_enddoc();
}
donc je ne sais pas si tu comprends quelque chose mais moi pas beaucoup. Il a dis qui il a travailler ladesus y a lomgtemp et il ne se souvient pas du reste.
je veux essayer d'ajouter cette fnction dans ta bibliotheque. Mais j'aimerai bien que tu me donnes quelques information sur le Array qui contient tous le pdf avant de l'imprimer et d'autres informations sur les methodes qui ont une relation avec les numeros de pages... breff les infos qui peuvent etre utile
merci
Spipu Le 04/10/2008 à 02:02 ben en fait je n'ai pas eu le temps d'y réfléchir...
de plus, les saut de page étant 100% automatique, je ne vois pas comment on pourrait retrouver les numéros de pages afin de les inscrire dans le sommaire...
cela me semble bien compliqué ! il faudrait se plonger plus dans le code de fpdf (chose que je n'ai pas fait....)