Convertir un formulaire html en pdf
Résolu
celio2
-
the red -
the red -
Bonjour, je veux convertir mode formulaire html en pdf mais je n arrive pas.il affiche le pdf mais le contenue du formulaire ne s'affiche pas. svp aidez moi
voici mon code
en php:
<?php
require('fpdf.php');
class PDF extends FPDF
{
//En-tête
function Header()
{
$this->SetFont('Arial','B',15);
//Décalage à droite
$this->Cell(80);
//Titre
$this->Cell(30,10, 'formulaire',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);
}
}
//Instanciation de la classe dérivée
$nom = $_POST["nom"];
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
if (isset($nom)){
$pdf->Cell(50,10,$nom,0,1);}
$pdf->Output();
?>
et en html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<form ACTION="pdf.php" METHOD="post">
test <input type="text" name="nom">
<input type="submit" value="pdf">
</form>
</body>
</html>
voici mon code
en php:
<?php
require('fpdf.php');
class PDF extends FPDF
{
//En-tête
function Header()
{
$this->SetFont('Arial','B',15);
//Décalage à droite
$this->Cell(80);
//Titre
$this->Cell(30,10, 'formulaire',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);
}
}
//Instanciation de la classe dérivée
$nom = $_POST["nom"];
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
if (isset($nom)){
$pdf->Cell(50,10,$nom,0,1);}
$pdf->Output();
?>
et en html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<form ACTION="pdf.php" METHOD="post">
test <input type="text" name="nom">
<input type="submit" value="pdf">
</form>
</body>
</html>
5 réponses
-
je veux recuperer les information rentrer dans mon formulaire pour avoir un pdf
-
voilà qui devrait faire l'affaire :
<?php require('fpdf/fpdf.php'); class PDF extends FPDF { //En-tête function Header() { $this->SetFont('Arial','B',15); //Décalage à droite $this->Cell(80); //Titre $this->Cell(30,10, 'formulaire',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); } } //Instanciation de la classe dérivée if(isset($_POST['nom'])) { $nom = $_POST["nom"]; $pdf=new PDF(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Times','',12); if (isset($nom)){ $pdf->Cell(50,10,$nom,0,1);} $pdf->Output(); } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>test</title> </head> <body> <form ACTION="index.php" METHOD="post"> test <input type="text" name="nom"> <input type="submit" value="pdf"> </form> </body> </html>
Tu m'excusera pour mes test j'ai modifié l'action de ton formulaire en "index.php" mais après tu le remet à pdf si tu souhaite (à condition que ta page contenant le formulaire s'intitule "action.php" biensur...sinon tu aménage à ta sauce.
A mon avis tu as juste désactivé l'affichage des erreur, voilà pourquoi tu n'avais rien (coté php).
Tu avais juste une petite erreur sur la variable $nom (qui initialement n'est pas défini), je te l'ai mise en dans un (isset) et hop de mon coté tout à roulé.
Mon arbo pour ma part été cette ci :
/
|---fpdf
| |-----fpdf.php
| |-----les_autre_fichier_fpdf
|
|---index.php
En espérant que sa t'aidera...
n'hesite pas à nous faire un retour (et classé ton post en résolu le cas échéant) -
bonjour,
c'est normal que tu ne puisse pas, dans la mesure où un PDF ne peux pas contenir de formulaire...
A moins que tu souhaite juste récupérer la soumission de ton formulaire dans ton pdf...
ou alors tu peux tenter de convertir ton formulaire en image et l'envoyer à ton pdf...mais là, c'est bcp plus compliqué...
en esperant t'avoir mis sur la voie...
-
pourquoi ne soumet tu pas simplement ton formulaire (ton action) sur lui même ?
en gros dans la même page, et en haut de ta page tu verifie si $_POST['nom'] existe, si c'est le cas on génére le pdf comme tu as tenté de le faire, sinon rien...
a première vue ton code semble totalement cohérent, mais tu n'appel jamais la fonction header et footer que tu as défini...est-ce volontaire ?
Si je résumé actuellement tu as ton pdf qui se génére mais juste une page blanche rien d'autre ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -