IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[FPDF] Script gestion facture pdf


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Par défaut [FPDF] Script gestion facture pdf
    Bonjour, alors voila mon problème,

    J'ai un script de FPDF qui me permet de générer une facture.

    Le problème est le suivant :

    J'ai un script de création du pdf qui ressemble à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    <?php
    // (c) Xavier Nicolay
    // Exemple de génération de devis/facture PDF
     
     
     
     
    define('FPDF_FONTPATH','font/');
    require('invoice.php');
     
     
    $pdf = new INVOICE( 'P', 'mm', 'A4' );
    $pdf->Open();
    $pdf->AddPage();
    $pdf->addSociete( "Nom société\n",
                      "addresse\n" .
                      "69530 BRIGNAIS\n".
                      "RCS PARIS\n" .
                      "Capital social : XXX " . EURO );
    $pdf->fact_dev( "Bon de commande ", "TEMPO" );
    $pdf->temporaire( "Bon de commande" );
    $pdf->addDate( "03/12/2008");
    $pdf->addClient("CL01");
    $pdf->addPageNumber("1");
    $pdf->addClientAdresse("Ste\nM. XXXX\n3ème étage\n33, rue d'ailleurs\n75000 PARIS");
    $pdf->addReglement("Chèque à réception de facture");
    $pdf->addEcheance("03/12/2003");
    $pdf->addNumTVA("FR888777666");
    $pdf->addReference("Devis ... du ....");
    $cols=array( "REFERENCE"    => 23,
                 "DESIGNATION"  => 78,
                 "QUANTITE"     => 22,
                 "P.U. HT"      => 26,
                 "MONTANT H.T." => 30,
                 "TVA"          => 11 );
    $pdf->addCols( $cols);
    $cols=array( "REFERENCE"    => "L",
                 "DESIGNATION"  => "L",
                 "QUANTITE"     => "C",
                 "P.U. HT"      => "R",
                 "MONTANT H.T." => "R",
                 "TVA"          => "C" );
    $pdf->addLineFormat( $cols);
    $pdf->addLineFormat($cols);
     
    $y    = 109;
    $line = array( "REFERENCE"    => "REF1",
                   "DESIGNATION"  => "Carte Mère MSI 6378\n" .
                                     "Processeur AMD 1Ghz\n" .
                                     "128Mo SDRAM, 30 Go Disque, CD-ROM, Floppy, Carte vidéo",
                   "QUANTITE"     => "1",
                   "P.U. HT"      => "600.00",
                   "MONTANT H.T." => "600.00",
                   "TVA"          => "1" );
    $size = $pdf->addLine( $y, $line );
    $y   += $size + 2;
     
    $line = array( "REFERENCE"    => "REF2",
                   "DESIGNATION"  => "Câble RS232",
                   "QUANTITE"     => "1",
                   "P.U. HT"      => "10.00",
                   "MONTANT H.T." => "60.00",
                   "TVA"          => "1" );
    $size = $pdf->addLine( $y, $line );
    $y   += $size + 2;
     
    $pdf->addCadreTVAs();
     
    // invoice = array( "px_unit" => value,
    //                  "qte"     => qte,
    //                  "tva"     => code_tva );
    // tab_tva = array( "1"       => 19.6,
    //                  "2"       => 5.5, ... );
    // params  = array( "RemiseGlobale" => [0|1],
    //                      "remise_tva"     => [1|2...],  // {la remise s'applique sur ce code TVA}
    //                      "remise"         => value,     // {montant de la remise}
    //                      "remise_percent" => percent,   // {pourcentage de remise sur ce montant de TVA}
    //                  "FraisPort"     => [0|1],
    //                      "portTTC"        => value,     // montant des frais de ports TTC
    //                                                     // par defaut la TVA = 19.6 %
    //                      "portHT"         => value,     // montant des frais de ports HT
    //                      "portTVA"        => tva_value, // valeur de la TVA a appliquer sur le montant HT
    //                  "AccompteExige" => [0|1],
    //                      "accompte"         => value    // montant de l'acompte (TTC)
    //                      "accompte_percent" => percent  // pourcentage d'acompte (TTC)
    //                  "Remarque" => "texte"              // texte
    $tot_prods = array( array ( "px_unit" => 600, "qte" => 1, "tva" => 1 ),
                        array ( "px_unit" =>  10, "qte" => 1, "tva" => 1 ));
    $tab_tva = array( "1"       => 19.6,
                      "2"       => 5.5);
    $params  = array( "RemiseGlobale" => 1,
                          "remise_tva"     => 1,       // {la remise s'applique sur ce code TVA}
                          "remise"         => 0,       // {montant de la remise}
                          "remise_percent" => 10,      // {pourcentage de remise sur ce montant de TVA}
                      "FraisPort"     => 1,
                          "portTTC"        => 10,      // montant des frais de ports TTC
                                                       // par defaut la TVA = 19.6 %
                          "portHT"         => 0,       // montant des frais de ports HT
                          "portTVA"        => 19.6,    // valeur de la TVA a appliquer sur le montant HT
                      "AccompteExige" => 1,
                          "accompte"         => 0,     // montant de l'acompte (TTC)
                          "accompte_percent" => 15,    // pourcentage d'acompte (TTC)
                      "Remarque" => "Avec un acompte, svp..." );
     
    $pdf->addTVAs( $params, $tab_tva, $tot_prods);
    $pdf->addCadreEurosFrancs();
    $pdf->Output();
    ?>
    Le problème est donc que je voudrais pouvoir mettre les valeurs dans mes champs de façon automatique mais que quand je fais un include de mon fichier setup.lib.php, le pdf ne se génère plus et un ensemble de symbole hallucinant apparait.

    Quelqu'un aurait-il une solution ?

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Par défaut
    en fait pour etre plus concret, je voudrais rajouter ceci dans ma gestion de facture pdf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /* ajout php include */
    include('libs/commande.lib.php');
    $commande =& new Commande;
    $arrCmd = $commande->get($_GET);
    $arrCmdProduit = $commande->getProduit($_GET['commande_id']);
     
    $commande=$arrCmd[0];
    $produit=$arrCmdProduit;
    /* fin ajout php include */
    mais ca me donne un truc bien bizard en réponse ....

    qui ressemble à ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    %PDF-1.3 3 0 obj <> endobj 4 0 obj <> stream xœ•YÍr9¾û)xÙÊnULóŸÝ¹É²œxË’©35sÔÚJF[’ì‘åLÍžæ‘ö‘¶ö¿Å$ÈfËiÙqRQ¾ü@l+öÏ#Á*g¿6ìä\2©¸¬ùÌF >Ò’ËŠUðÔW¬¹eo›Ûùæfq|¾Ümÿ`Í¿Iöä\1)¾£îëš+Ô•dÛÇ»]°Õ›åæöña·]. ¤Py^ù àj«;^¼Ÿ .fÏ%½ãVÉ)òg¦ª˜ÒšY)Ùåw›ç*ÎrY•áü~¹›¯ØÃÝÍ>Þ1%à‡ýÙ ª»'‚« vKpË~9ÒÞr[³J뮏¬5aÃ"^®¸Èß['¹r€$÷2# Á vÃŽÒÛU£r–kP&SBáf¦…"åäI|°,¹ËÚUÜÊd*£°*ÓƒèÊ*ãèh2ƒè† ʧG¿1Á¾0Üaü΂á*±rz·A¶oîÖëùþÃFö'›ü6[kÚgö1í´-ÒŒr/<И>÷Hky þ ͵d7k_Á¤oŽóWÑ\í:ÿnƒÓ]+ßqºuóã‘Ñ ÷Ì×|ÂMí¹©Î`¿Á2a+à[ ù\#‘i:{„âñ ›n¬Ä“ä!adÜô³A3ÚKu@_×X"< K‹t'À ®Z+jAf˪ÚlYTe¶âyKl%”Ù¢™-ÂÄ™ŠÛŸÊl%O[Pžxe³øñeZy’ØÚK+2EAtBluÙYçÈ^Ï–•n*áåÅhÒ¼ž/‹S—| /…lõµ¯0Øö\AÑ5¶eÊ@Xufj?]Ëd.²;1µwÈZ(3•mJ‹g£Þ\›‹«IÑH¤áζF ÷YÕJ४°úñÓ`Ò\”ã²öž Y˜Œ¸×dí¸¨J“×ügŠlà.æ ‹„û,¨ïΗÇW“ÜdxSPh¡tø"vÂ}f‘:×á¶°Fgk÷†Oy žïo`‡tGv8ßîlü m<»`ƷêpL=mîörûF6Ÿ1ùþ×ÿV0‰Ðô¥ªñ›M㷐°ìý;[>@³{ˆgÇÓ«ñÛƒ– $¬ s¹º»¿ÿÔB_—·Ow}ç‚’eì}›„õÄ©R+}âà —¯·0r{õ?"±êªNĪÃÓÊÿÿ¯Õ‚MgJ÷©Ð†:ýâ÷<‘‡Ä—3ª”v/oÇ÷½ Y 2ÌpRj¼wÁ¬ãB$ŒÆâ=‘pè#P4![%r—‚¾QÞjમàdȆ*L«DÐŽªæI5 4›¢ .Óõ-BZ=©Éµ`"y]†XŒ©öU„Ñ&0Ö£‚~ˆüƒ¯¥oµÒ®1Â…”Ae ˆ[%b J„ H¦º°@¸¨Bà*@Ä*@7+Âc‰/öâµçt0Í:¥¼Û£¢ÙBa:_ÌF}â·x[ñqÃ:5¸;ΉG¥Büo‡¤*Â× …ôõÕ´ÏñÔ%[áæª|úùÙp}£fmðí&tFß-cgbŒ½ëó.ÊCZR-nøO|ÀKyšŽªžáB ½ JpMÕîP1Ê`›/¥û…µáB²}õHz‡1‚útŸU-K¹RºîS¸½l †m³QýCó\ßZ0Úúº†“Û70’áJc*¦©õ%Ë*4ô(sØ2hÔÄq3<`Ê ¾+ÊÒ{|¾&Öðž '%T·04õMÒΤW&_×›g«õ¿Ê MQÂôH¯µ§‹õ|‹÷äwlðuqÃ7 Çþû _ï;£ö ¡|WbX KÄ=†i¿?¯¨eA.Ö1ð.Cu¯p0 ÇNÇÁ‡:×—àn»PÁ[G ¾dëåÛÂu¸ö…'ÎZpí°ñÖ¸Á¥®0nà&Uót Í]–®Ž„Óx[YB¹Ë¦Ë[zË›.¥á‚EwÐPíÓ4uYò"µYƒCUîÈ0ïT©Ñȝ–pnµ GÉ9ß 5þÀj,Y¹Sn;UHí6‡œû1ŽºP޳ Â*‰çƒÍÞ« ‡¯ÊŠ®0ú4½š½:‘-¯Kýóé`2Ü7ÐßU ¾Ó '†}ìJ— êHïˆ(ð7rm ¯Æ×M_6à™ÐEš€Ì€]~M[•¿mUI endstream endobj 1 0 obj <> endobj 5 0 obj <> endobj 6 0 obj <> endobj 2 0 obj << /ProcSet [/PDF /Text /ImageB /ImageC /ImageI] /Font << /F1 5 0 R /F2 6 0 R >> /XObject << >> >> endobj 7 0 obj << /Producer (FPDF 1.53) /CreationDate (D:20080616123624) >> endobj 8 0 obj << /Type /Catalog /Pages 1 0 R /OpenAction [3 0 R /FitH null] /PageLayout /OneColumn >> endobj xref 0 9 0000000000 65535 f 0000002479 00000 n 0000002763 00000 n 0000000009 00000 n 0000000087 00000 n 0000002566 00000 n 0000002667 00000 n 0000002877 00000 n 0000002953 00000 n trailer << /Size 9 /Root 8 0 R /Info 7 0 R >> startxref 3056 %%EOF

    Merci de votre aide si vous avez une solution sous la main

  3. #3
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    le texte que tu à écrit est le contenu d'un fichier pdf lorsqu'il est ouvert avec le bloc-notes

    Il manque peut être une header('Content-Type: application/pdf'); dans ton code.

    FPDF envoie ce header lorsque que l'on appelle la méthode output

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Par défaut
    Merci de cette suggestion, mais le header est correct, i lfait bien référence a un fichier application pdf,

    et quelque soit le moment il l'execute...


    Je ne vois pas pourquoi il me met ca...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Par défaut
    milles excuse en fait ca marche.... mais le truc que je comprends pas c'est que ca marche sous firefox et pas sur ie (derniere version pour les 2)...

    Quelqu'un sait ce qu'il faut faire pour que ca marche sous ie ?

    Merci d'avance.

Discussions similaires

  1. [FPDF] Génération de factures en PDF
    Par craac dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/09/2007, 14h36
  2. [FPDF] récupérer données mysql et insérer dans une facture pdf préfaite
    Par faucon54 dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 08/05/2007, 16h44
  3. [FPDF] créer un fichier PDF dans le répertoire courant
    Par patdez dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/10/2005, 15h37
  4. [FPDF] Page PHP convertion PDF totale
    Par toflofr dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 23/09/2005, 13h32
  5. [FPDF] Rechercher dans des pdf
    Par snike dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/09/2005, 09h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo