Transformation d'un formulaire HTML en PDF

Résolu/Fermé
topheS Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 19 juin 2005 - 8 juin 2005 à 00:48
topheS Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 19 juin 2005 - 19 juin 2005 à 14:49
Bonjour à tous,

Bon voilà j'ai un problème :
je voudrais éditer un PDF avec des champs qu'un utilisateur rempli sur un formualire HTML. Pour cela j'utilise FPDF mais voilà rien ne se passe....

Voiçi mes codes :
le php qui génère le PDF :

<?php
require('fpdf.php');

class PDF extends FPDF
{
//En-tête
function Header()
{
//Logo
$this->Image('web_45.jpg',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();
$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();
?>


et mon html :


<html>

<head>

</head>
<body>

<form ACTION="pdf.php" METHOD="post">
essai <input type="text" name="nom">
<input type="submit" value="pdf">
</form>
</body>

</html>

La variable que l'on rentre est le nom... mais rien ne se passe. Le pdf s'ouvre correctement mais sans que la variable NOM soit changé..

Merci d'avance pour votre aide.

Tophe
A voir également:

9 réponses

baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 33
19 juin 2005 à 09:43
Re,

essaye:

//En-tête 
function Header() 
{ 
//Logo 
$this->Image('../Images/valide.jpg',10,8,33);
//Police Arial gras 15 
$this->SetFont('Arial','B',15); 
//Décalage à droite 
$this->Cell(80); 
//Titre 
$this->Cell(30,10, $_POST["nom"],1,0,'C');
//Saut de ligne 
$this->Ln(20); 

} 


parceque la variable $nom est défini plus loing
7
topheS Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 19 juin 2005 5
19 juin 2005 à 14:49
Salut BARBOGE,

Bon je viens d'essayer les modifications du code et cela marche, c'est nickel. Un grand merci à toi pour ton aide.

Merci encore et a+ et à charge de revenche....

Tophe
0
baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 33
8 juin 2005 à 12:22
Ton fichier fpdf.php
est il bien dans le même répertoire que ton fichier PHP
2
topheS Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 19 juin 2005 5
8 juin 2005 à 14:56
Re Barboge,

Bon j'ai essayé avec ton code PHP et le même formulaire html.
Le résultat : rien c-à-d :

- le pdf s'ouvre
- l'image a changé
MAIS
- la case titre est vide, il n'y a rien dedans

Si tu as une idée, je suis preneur.

As-tu essayé avec mon code HTML ci-dessus ?
je te le remets en dessous :

<html>

<head>

</head>
<body>

<form ACTION="pdf.php" METHOD="post">


essai <input type="text" name="nom">

<input type="submit" value="pdf">


</form>


</body>
</html>

Merci pour ton aide
A+
tophe
2
topheS Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 19 juin 2005 5
8 juin 2005 à 12:27
Salut BARBOGE,

Oui tout les fichier fpdf sont dans le même répertoire.
Le PDF se crée sans qu'il se modifie avec les données rentrées dans le html.

Si tu as une idée elle est la bienvenue.

Merci et a+
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 33
8 juin 2005 à 12:53
<?php 
define('FPDF_FONTPATH','../fpdf151/font/');
require('../fpdf151/fpdf.php');
class PDF extends FPDF 
{ 
//En-tête 
function Header() 
{ 
//Logo 
$this->Image('../Images/valide.jpg',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(); 
?> 


AVEC SE CODE CELA FONCTIONNE CHEZ MOI....
1
topheS Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 19 juin 2005 5
8 juin 2005 à 13:01
Je te remercie,

je vais l'assayé et je te tiens au courant

A+
Tophe
1
baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 33
15 juin 2005 à 00:17
Excuse moi pour le délais, mais j'étais en déplacement

as tu fais les modif en gras que j'avais fait sur ton code du fichier php qui génère le PDF ?
1
topheS Messages postés 8 Date d'inscription mercredi 8 juin 2005 Statut Membre Dernière intervention 19 juin 2005 5
15 juin 2005 à 11:36
Salut Baborge,

Je n'ai pas fait les modifs que tu avais mises en gras, j'ai repris tout le code source que tu as mis, d'où ma réponse après ton post...
(réponse n°5)

J'en suis toujours au même point...donc si tu as une idée, elle est la bienvenue.

Je fais ces test sur un compte FREE. Est-ce que ca peut venir de là le pb ?

Merci de ton aide.
A+
Tophe
1
Salut,

Je ne connais pas fpdf mais au vu du source que tu as posté, il semble que l'implémentation dans la classe FPDF des fonction header() et footer() soit vide, c'est d'ailleurs pour cela qu'elles doivent etre redéfinis au debut de ta classe .....

Le fait que la variable $nom de ton pied de page n'apparaisse pas (si j'ai bien comris ton probleme...) viendrait alors peut etre du fait que $nom n'ai tout simplement pas connu au sein de la fonction header() => d'ou une case vide ...

Si le probleme vient de la il faudrait certainement faire des modification plus en amont (dans ../fpdf151/fpdf.php) pour faire en sorte que la fonction header() (certainement appelé dans Addpage()) passe une variable en parametre ....

Suis peut etre completement a coté du problème mais toute piste est bonne a prendre quand on est perdu ......

A+
0