A partir d'une page web faire un pdf

Fermé
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 22 mai 2008 à 10:28
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 26 mai 2008 à 09:09
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!
A voir également:

20 réponses

Utilisateur anonyme
22 mai 2008 à 10:34
C'est possible mais dis nous quel langage tu utilises stp
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 mai 2008 à 10:35
le php
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 mai 2008 à 10:51
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
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 mai 2008 à 11:43
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

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

Posez votre question
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 mai 2008 à 13:55
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
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
22 mai 2008 à 14:30
up
0
Utilisateur anonyme
23 mai 2008 à 10:02
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
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
23 mai 2008 à 10:26
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
Utilisateur anonyme
23 mai 2008 à 11:21
Supprime ton code html pour ne laisser que le code php et je pense que ca devrait marcher
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
23 mai 2008 à 11:27
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
Utilisateur anonyme
23 mai 2008 à 11:35
Pour écrire du texte tu as la méthode MultiCell et elle prend en paramètre l'alignement Tu trouveras la doc ICI
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
23 mai 2008 à 11:37
impec merci je te tiens au courant si j'ai d'autres soucis
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
23 mai 2008 à 12:00
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
Utilisateur anonyme
23 mai 2008 à 12:01
Rajoute $this-> devant MultiCell
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
23 mai 2008 à 12:03
j'ai ca maintenant

Erreur 500 - Erreur interne du serveur
0
Utilisateur anonyme
23 mai 2008 à 12:09
Essaye de regarder les logs d'Apache.
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
23 mai 2008 à 12:20
j'héberge chez free
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
23 mai 2008 à 13:56
t'es plus la =[Cvrd]=Tassin?
0
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
23 mai 2008 à 14:17
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
drogba7213 Messages postés 1524 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
26 mai 2008 à 09:09
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