A partir d'une page web faire un pdf

drogba7213 Messages postés 1550 Statut Membre -  
drogba7213 Messages postés 1550 Statut Membre -
Bonjour,

Je suis en stage je viens de créer un formulaire qui me renvoie les données saisie par l'utilisateur dans un fichier texte ce que je voudrais c'est que en plus de ca le formulaire créer un pdf avec les champ remplit bien sur automatiquement.
est ce possible si oui comment svp

merci de votre aide!
Configuration: Windows 2000
Firefox 2.0.0.14

20 réponses

  1. Utilisateur anonyme
     
    C'est possible mais dis nous quel langage tu utilises stp
    0
  2. drogba7213 Messages postés 1550 Statut Membre 22
     
    le php
    0
  3. drogba7213 Messages postés 1550 Statut Membre 22
     
    je viens de trouver ca et ca m'as l'air pas trop mal

    header("Content-Type: application/pdf");
    flush();
    $CmdeHTMLDOC= 'htmldoc -t pdf --size A4 --webpage'.
    ' -f c:\SITE_PROG.pdf http://dypso.free.fr';
    passthru($CmdeHTMLDOC);

    Par contre je me pose des questions faut t'il le logiciel sur le serveur je suppose que oui normal

    ensuite, est ce que la page qui va se transformer en pdf doit etre au préalable refaite dynamiquement par php et présenter au client et qu'ensuite il valide ou alors est ce que une fois la validation de la page html du formulaire je peux mettre ce script et donc ca le transformera?
    0
  4. drogba7213 Messages postés 1550 Statut Membre 22
     
    Alors voila j'ai construit une page dynamique qui redonne tout ce que l'utilisateur a saisit et il doit recliker sur valider pour faire apparaitre le pdf qUE JE VOUDRAIS maintenant en ayant mis le bout de code que j'ai trouvé

    [CODE]header("Content-Type: application/pdf");
    flush();
    $CmdeHTMLDOC= 'htmldoc -t pdf --size A4 --webpage'.
    ' -f c:\SITE_PROG.pdf http://dypso.free.fr';
    passthru($CmdeHTMLDOC);/CODE

    j'ai ca comme erreur

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sdb/7/8/site.inter/stage/pdfconcours_ts.php:8) in /mnt/104/sdb/7/8/site.inter/stage/pdfconcours_ts.php on line 9

    et j'ai lu sur le net que cette erreur est du a un blocage du header a cause de <head> je l'ai donc enlevé mais rien ne change auriez vous une idée svp?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. drogba7213 Messages postés 1550 Statut Membre 22
     
    Bon alors je viens de découvrir fpdf et je viens de finir de tout lire et jme pose deux ou trois petite question

    * Les sources PHP fpdf.php et phpToPDF.php;
    * Le répertoire "font/" qui contient les fonts.

    a quoi ca sert ca? qu'est ce que ca représente?

    Et est ce que c'est possible de faire un

    Write(10, "echo $_POST['unevariable'] "); ??
    0
  7. drogba7213 Messages postés 1550 Statut Membre 22
     
    up
    0
  8. Utilisateur anonyme
     
    Les sources PHP fpdf.php et phpToPDF.php --> Ce sont des classes développées qui génèrent le fichier PDF. Tu ne fais que les utiliser et ensuite elle s'occupe de créer le document.

    Le répertoire font contient les différentes polices qui seront utilisées dans le PDF

    En ce qui concerne le Write tu ne peux pas l'utiliser pour générer un pdf. Tu dois utiliser un objet de la classe FPDF et et servir de ses méthodes.

    Regarde les tutoriels : http://www.fpdf.org/fr/tutorial/index.php
    0
  9. drogba7213 Messages postés 1550 Statut Membre 22
     
    La en ce moment j'ai un petit soucis voici le message d'erreur :

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/104/sdb/7/8/site.inter/stage/pdfconcours_ts.php:9) in /mnt/104/sdb/7/8/site.inter/stage/fpdf.php on line 1022
    FPDF error: Some data has already been output to browser, can't send PDF file

    et voici mon code :

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <title>pdfconcours_ts.php</title>
    </head>
    <body>

    <?php
    define('FPDF_FONTPATH','font/');
    require('fpdf.php');
    class PDF extends FPDF
    {
    //En-tête
    function Header()
    {
    //Logo
    $this->Image('smalllogo.png',10,8,33);
    //Police Arial gras 15
    $this->SetFont('Arial','B',15);
    //Décalage à droite
    $this->Cell(80);
    //Titre
    $this->Cell(30,10,"$nom",1,0,'C');
    //Saut de ligne
    $this->Ln(20);

    }

    //Pied de page
    function Footer()
    {
    //Positionnement à 1,5 cm du bas
    $this->SetY(-15);
    //Police Arial italique 8
    $this->SetFont('Arial','I',8);
    //Numéro de page
    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
    }
    }

    //Instanciation de la classe dérivée
    $nom = $_POST["nom"];
    $pdf=new PDF('P','mm','A4');
    $pdf->Open();$pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
    for($i=1;$i<=40;$i++)
    $pdf->Cell(50,10,'Impression de la ligne numéro '.$i,0,1);
    $pdf->Output();
    ?>

    </body>
    </html>

    merci d'avance
    0
  10. Utilisateur anonyme
     
    Supprime ton code html pour ne laisser que le code php et je pense que ca devrait marcher
    0
  11. drogba7213 Messages postés 1550 Statut Membre 22
     
    oui effectivement tu avais raison merci

    par contre peut tu me donner les grandes lignes stp :

    comment centrer?

    comment aligner a gauche?

    comment mettre que du texte?

    comment utiliser une variable qui enregistrer dans un $_POST['mavariable'] stp
    0
  12. Utilisateur anonyme
     
    Pour écrire du texte tu as la méthode MultiCell et elle prend en paramètre l'alignement Tu trouveras la doc ICI
    0
  13. drogba7213 Messages postés 1550 Statut Membre 22
     
    impec merci je te tiens au courant si j'ai d'autres soucis
    0
  14. drogba7213 Messages postés 1550 Statut Membre 22
     
    Nouveau petit problème :

    Fatal error: Call to undefined function: multicell() in /mnt/104/sdb/7/8/site.inter/stage/pdfconcours_ts.php on line 58

    mon code :

    Code :

    <?php

    $nom = $GLOBALS['nom'];
    $prenom = $_POST['prenom'];
    $naissance = $_POST['naissance'];
    $lieu = $_POST['lieu'];
    $dpt = $_POST['dpt'];
    $adresse = $_POST['adresse'];
    $tel = $_POST['telephone'];
    $telecopie = $_POST['telecopie'];
    $port = $_POST['portable'];
    $mail = $_POST['mail'];
    $c1 = $_POST['classe'];
    $o1 = $_POST['option'];
    $a1 = $_POST['annee'];
    $c2 = $_POST['classe2'];
    $o2 = $_POST['option2'];
    $a2 = $_POST['annee2'];
    $c3 = $_POST['classe3'];
    $o3 = $_POST['option3'];
    $a3 = $_POST['annee3'];
    $c4 = $_POST['classe4'];
    $o4 = $_POST['option4'];
    $a4 = $_POST['annee4'];
    $c5 = $_POST['classe5'];
    $o5 = $_POST['option5'];
    $a5 = $_POST['annee5'];
    $c6 = $_POST['classe6'];
    $o6 = $_POST['option6'];
    $a6 = $_POST['annee6'];
    $c7 = $_POST['classe7'];
    $o7 = $_POST['option7'];
    $a7 = $_POST['annee7'];
    $c8 = $_POST['classe8'];
    $o8 = $_POST['option8'];
    $a8 = $_POST['annee8'];
    $d1 = $_POST['diplome'];
    $m1 = $_POST['mention'];
    $a9 = $_POST['annee9'];
    $d2 = $_POST['diplome2'];
    $m2 = $_POST['mention2'];
    $a10 = $_POST['annee10'];
    $nom2 = $_POST['nom2'];
    $prenom2 = $_POST['prenom2'];

    define('FPDF_FONTPATH','font/');
    require('fpdf.php');
    class PDF extends FPDF
    {
    //En-tête
    function Header()
    {
    //Logo
    $this->Image('smalllogo.png',180,1);
    //Police Arial gras 15
    $this->SetFont('Arial','B',15);
    //Décalage à droite
    MultiCell(100, 100,"DOSSIER D'INSCRIPTION\nCONCOURS TS -2008\nRéservé aux candidats en scolarité\ndu B.T.S. Géomètre-Topographe\n(Candidats présentant la même année le B.T.S. et le concours ESGT)" , 0 , "C" , 0);
    //Titre
    $this->Cell(30,10,"$nom",1,0,'C');
    //Saut de ligne
    $this->Ln(20);

    }

    //Pied de page
    function Footer()
    {
    //Positionnement à 1,5 cm du bas
    $this->SetY(-15);
    //Police Arial italique 8
    $this->SetFont('Arial','I',8);
    //Numéro de page
    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
    }
    }

    //Instanciation de la classe dérivée
    $nom = $_POST["nom"];
    $pdf=new PDF('P','mm','A4');
    $pdf->Open();$pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
    for($i=1;$i<=40;$i++)
    $pdf->Cell(50,10,'Impression de la ligne numéro '.$i,0,1);
    $pdf->Output();
    ?>

    merci d'avance
    0
  15. Utilisateur anonyme
     
    Rajoute $this-> devant MultiCell
    0
  16. drogba7213 Messages postés 1550 Statut Membre 22
     
    j'ai ca maintenant

    Erreur 500 - Erreur interne du serveur
    0
  17. Utilisateur anonyme
     
    Essaye de regarder les logs d'Apache.
    0
  18. drogba7213 Messages postés 1550 Statut Membre 22
     
    j'héberge chez free
    0
  19. drogba7213 Messages postés 1550 Statut Membre 22
     
    t'es plus la =[Cvrd]=Tassin?
    0
  20. drogba7213 Messages postés 1550 Statut Membre 22
     
    c'est bon j'ai réglé le problème par contre je n'arrive pas à comprendre pourquoi ma page me donne ca :

    en fait mon multicell n'est pas centré dans la page

    pouvez vous m'aidez svp?

    Voici mon code

    $this->multiCell(10, 5,"DOSSIER DINSCRIPTION\nCONCOURS TS -2008\nRéservé aux candidats en scolarité\ndu B.T.S. Géomètre-Topographe\n(Candidats présentant la même année le B.T.S. et le concours ESGT)" , 0 , "C" , 0);
    0
  21. drogba7213 Messages postés 1550 Statut Membre 22
     
    Bonjour,

    J'ai réglé ce problème

    Et oui me revoila avec mes questions a la c**^^ tout frais du week end
    On m'a dit que les variables en $_POST fpdf n'apprécierai pas effectivement je confirme.
    On m'as dit aussi qu'il faudrait mieux utiliser un $GLOBALS.
    Je me suis documenté un peu sur ces variables le problème est que j'en ai pas fait en cours cette année donc je suis un peu pommé.
    Et nul part sur le net ils disent si oui ou non on peut récupéré des $GLOBALS de script en script comme $_POST donc si quelqu'un peut m'éclairer svp.

    merci d'avance
    0