Les Allergies
Alimentaires
Posez votre question Signaler

Fpdf, détection d'une fin de page [Résolu]

Flohti 164Messages postés 25 juillet 2007Date d'inscription - Dernière réponse le 5 févr. 2008 à 10:30
Bonsoir,
Je viens encore une fois faire appel à vos services,
Je cherche par un script en php à générer une facture sur le retour automatique de mon API (ça c'est pas très important, seulement en connaissance de cause).
Là, ma facture pourrait contenir plusieurs pages, donc une entête et un pied de page (là n'est toujours pas mon problème).
Sur une facture de plusieurs pages (si vous le savez... c'est bien, sinon ça ne tue pas), doit apparaître en bas de la première (ainsi que les autres avant la dernière) un montant à reporter sur la page suivante.
Et donc, cela va de soit, cet dîte page suivante reprend ce montant reporté pour continuer le reste de la facturation (je pense que si j'ai passé la première étape, la seconde pour reprendre le montant est... plutôt simple).
Je suis en train de penser que je pourraîs faire une 'tite boucle qui s'arrête à une valeur précise, qu'est la longueur disponible sur la page, pour faire mon 'tit calcul et continuer, mais je ne suis pas trop sûr^^.
Avez-vous des idées (je suis sûr que quelqu'un a déjà fait un truc de la sorte) ? Ai-je une bonne idée sinon ?
Merci à vous.
Lire la suite 

Fpdf, détection d'une fin de page »

6 réponses
Réponse
+3
moins plus
Bonjour,

je vais vous faire part de ce que j'ai fait, puisque j'ai terminé (sauf détection d'autres erreurs) mon script :

$pdf=new PDF();
$pdf->SetAutoPageBreak(true, 40);
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',9);
$montantoccasion = 0; $montant196 = 0; $fin = 0; $tvaoccasion = 0; $tva196 = 0;
while ($recup = mysql_fetch_array($recuperation)) {
    $recup['livraison'] = date('d/m/Y', ($recup['date'] + ($recup['livraison'] * 86400)));
    $recup['date'] = date('d/m/Y', $recup['date']);
    $pdf->Tableau($recup, $numerocom, $montant);
	$montantoccasion = $montantoccasion + ($recup['prix'] * $recup['quantite']);
	$montant196 = $montant196 + ($recup['prixneuf'] * $recup['quantite']) + $recup['port'];
	$tvaoccasion = $tvaoccasion + $recup['tvaoccasion'];
	$tva196 = $tva196 + $recup['tva196'];
	$montant = $montantoccasion + $montant196; }

$fin = 1;
$position=$pdf->GetY();
while ($position < 250) {
    $pdf->Tableaufin($position);
	$position=$pdf->GetY(); }
mysql_close();
$numero = str_replace('/', '', $numero);
$pdf->Output('../pdf/'.$numero.'.pdf', 'F');


Voilà, avec mes fonctions bien définient pour arrêter mes pages où je voulais, fermer le tableau sur chaque pages et mon report du montant si la facture n'est pas finie. Puis mon pied avec toutes les précisions de totaux et taxes sur la dernière page ( $fin=1 ).

Voilà, donc RESOLU.
Ajouter un commentaire
Réponse
+0
moins plus
J'ai déjà bossé avec fpdf et j'insérais une entête et un pied de page.
Seulement ça fait un petit moment et je n'ai plus mes sources (désolé... déjà je ne pourrais pas te donner de solution toute faîte).

Le mieux serait de regarder du coté de : http://www.fpdf.org/ (rubrique "manuel").
Mais si j'étais toi, je regarderais du coté de la méthode Footer()
Ajouter un commentaire
Réponse
+0
moins plus
Salut superpigeon, je regarde ça,

Je remarque qu'il y a une fonction qui donne directement la position actuelle du curseur sur le document, je pense que je devrais pouvoir faire quelque chose avec ça.

Je te tiens au courant. Merci
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour tout le monde,

les variables variables, ça fonctionne pour fpdf ?

Merci
Ajouter un commentaire
Réponse
+0
moins plus
Bon eh bien je ne sais pas si on peut utiliser ces variables variables,
Ce que je sais, c'est que je n'ai pas réussi :

Je voulais faire une boucle pour récupérer mes données et les enregistrer dans des variables dont je ne connaissais pas le nombre (d'où les variables variables avec un incrément et ensuite un test d'existence).

Enfin de compte j'ai redescendu cette boucle pour écrire les données directement sur le PDF (donc je m'en suis foutu de ces variables variables).

Voilà, si vous répondez à la question précédente, ce ne sera que pour info. Merci^^
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Oui les variables dynamiques fonctionnent pour fpdf.

Cordialement

David
Ajouter un commentaire
Ce document intitulé « fpdf, détection d'une fin de page » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?