Variable PHP dans fichier PDF
7 messages
• Page 1 sur 1
- Monegask26
- Nouveau WRInaute

- Messages: 12
- Inscription: 28 Juil 2010
Variable PHP dans fichier PDF
Bonjour à tous !
Pour mon site, j'ai souhaite mettre un formulaire en PHP pour les grossistes qui souhaitent commander des produits en quantité.
Je m'explique avec un exemple basic :
J'ai un champs sur la page dans lequel il faut indiquer le prix d'un article.
Le grossiste inscrit par exemple 10.
A ce moment là, je voudrais qu'un fichier PDF lui soit généré avec un bon de commande sous forme de tableau et avec le chiffre 10 dans un emplacement spécifique comme ceci :

Cet exemple est bien plus complexe, moi je ne veux qu'un simple tableau (voir l'image en dessous).
Voici ce que j'ai :
Le script qui permet de générer un fichier PDF en passant par php (grâce à FPDF) :
Et la page de mon site :
Mais voilà le problème : echo ' ' permet d'afficher le resultat sous forme texte, donc deja ça ne passe pas. Et de plus, je ne sais pas comment combiner ces deux script. Je voudrais que lorsque le grossiste inscrit "10" dans le champs "prix" et clique sur "Obtenir le bon de commande PDF", un fichier PDF s'ouvre avec le tableau qui est généré par le script, qui s'affiche très bien quand j'ouvre le fichier php où se trouve ce script, je l'ai testé :
Je veux qu'il y ai la variable "10" à la place de "champs 1" (par exemple).
Je ne sais pas si vous voyez ce que je veux dire...
Je souhaites mettre ce service en ligne au plus vite, alors merci d'avance à tous ceux qui auront la foi de tenter de m'aider !
Merci encore.
Pour mon site, j'ai souhaite mettre un formulaire en PHP pour les grossistes qui souhaitent commander des produits en quantité.
Je m'explique avec un exemple basic :
J'ai un champs sur la page dans lequel il faut indiquer le prix d'un article.
Le grossiste inscrit par exemple 10.
A ce moment là, je voudrais qu'un fichier PDF lui soit généré avec un bon de commande sous forme de tableau et avec le chiffre 10 dans un emplacement spécifique comme ceci :

Cet exemple est bien plus complexe, moi je ne veux qu'un simple tableau (voir l'image en dessous).
Voici ce que j'ai :
Le script qui permet de générer un fichier PDF en passant par php (grâce à FPDF) :
- Code: Tout sélectionner
<?php
include("phpToPDF.php");
$PDF=new phpToPDF();
$PDF->AddPage();
$PDF->SetFont('Arial','B',16);
// Définition des propriétés du tableau.
$proprietesTableau = array(
'TB_ALIGN' => 'L',
'L_MARGIN' => 15,
'BRD_COLOR' => array(0,92,177),
'BRD_SIZE' => '0.3',
);
// Définition des propriétés du header du tableau.
$proprieteHeader = array(
'T_COLOR' => array(150,10,10),
'T_SIZE' => 12,
'T_FONT' => 'Arial',
'T_ALIGN' => 'C',
'V_ALIGN' => 'T',
'T_TYPE' => 'B',
'LN_SIZE' => 7,
'BG_COLOR_COL0' => array(170, 240, 230),
'BG_COLOR' => array(170, 240, 230),
'BRD_COLOR' => array(0,92,177),
'BRD_SIZE' => 0.2,
'BRD_TYPE' => '1',
'BRD_TYPE_NEW_PAGE' => '',
);
// Contenu du header du tableau.
$contenuHeader = array(
50, 50, 50,
"Titre de la première colonne", "année N-1", "année N",
);
// Définition des propriétés du reste du contenu du tableau.
$proprieteContenu = array(
'T_COLOR' => array(0,0,0),
'T_SIZE' => 10,
'T_FONT' => 'Arial',
'T_ALIGN_COL0' => 'L',
'T_ALIGN' => 'R',
'V_ALIGN' => 'M',
'T_TYPE' => '',
'LN_SIZE' => 6,
'BG_COLOR_COL0' => array(245, 245, 150),
'BG_COLOR' => array(255,255,255),
'BRD_COLOR' => array(0,92,177),
'BRD_SIZE' => 0.1,
'BRD_TYPE' => '1',
'BRD_TYPE_NEW_PAGE' => '',
);
// Contenu du tableau.
$contenuTableau = array(
"champ 1", 1, 2,
"champ 2", 3, 4,
"champ 3", 5, 6,
"champ 4", 7, 8,
);
// D'abord le PDF, puis les propriétés globales du tableau.
// Ensuite, le header du tableau (propriétés et données) puis le contenu (propriétés et données)
$PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau);
$PDF->Output();
?>
Et la page de mon site :
- Code: Tout sélectionner
<html>
<center>
<br><br>
<FORM Method="POST" Action="test.php">
Prix : <INPUT type=text value="" size=9 name="prix">
<INPUT type=submit value="Obtenir le bon de commande PDF">
</FORM>
<?php
if(ISSET($_POST["prix"]))
{
$lien1 = ($_POST["prix"]);
echo ' ';
}
?>
</center>
</html>
Mais voilà le problème : echo ' ' permet d'afficher le resultat sous forme texte, donc deja ça ne passe pas. Et de plus, je ne sais pas comment combiner ces deux script. Je voudrais que lorsque le grossiste inscrit "10" dans le champs "prix" et clique sur "Obtenir le bon de commande PDF", un fichier PDF s'ouvre avec le tableau qui est généré par le script, qui s'affiche très bien quand j'ouvre le fichier php où se trouve ce script, je l'ai testé :
Je veux qu'il y ai la variable "10" à la place de "champs 1" (par exemple).
Je ne sais pas si vous voyez ce que je veux dire...
Je souhaites mettre ce service en ligne au plus vite, alors merci d'avance à tous ceux qui auront la foi de tenter de m'aider !
Merci encore.
-

mrPringle - WRInaute impliqué

- Messages: 592
- Inscription: 11 Mar 2006
Re: Variable PHP dans fichier PDF
Déjà ton tableau
doit te retourner une erreur à cause de la virgule après le 8, il faut l'enlever car tu n'ajoutes aucun autre élément.
Sinon tu peux essayer quelque chose comme ça :
- Code: Tout sélectionner
$contenuTableau = array(
"champ 1", 1, 2,
"champ 2", 3, 4,
"champ 3", 5, 6,
"champ 4", 7, 8,
);
doit te retourner une erreur à cause de la virgule après le 8, il faut l'enlever car tu n'ajoutes aucun autre élément.
Sinon tu peux essayer quelque chose comme ça :
- Code: Tout sélectionner
$proprietesTableau=array();
if(ISSET($_POST["prix"]))
{
$lien1 = ($_POST["prix"]);
echo $lien1; // Il faut entrer la variable à afficher
Vu que tu as trois colonnes dans ton tableau, il te faut les deux autres variables ici $variable1 et $variable2
array_push($proprietesTableau, $lien1, $variable1, $variable2); // Ajoute trois entrées au tableau $proprietesTableau
}
-

erestrebian - WRInaute occasionnel

- Messages: 474
- Inscription: 15 Juin 2007
Re: Variable PHP dans fichier PDF
Bonjour,
Dans ce que tu appelles contenu du tableau, au lieu de mettre "$champs1" passe les variables "'.$ce_que_je_veux.'" et automatise la création du tableau pour avoir un nombre infini de ligne si jamais un acheteur veut une pleine page d'articles... L'idée directrice de FPDF est de changer en pdf ce que tu es capable d'afficher en html. Si tu es capable de sortir le tableau voulu en html, tu n'es pas loin de réussir en pdf.
Dans ce que tu appelles contenu du tableau, au lieu de mettre "$champs1" passe les variables "'.$ce_que_je_veux.'" et automatise la création du tableau pour avoir un nombre infini de ligne si jamais un acheteur veut une pleine page d'articles... L'idée directrice de FPDF est de changer en pdf ce que tu es capable d'afficher en html. Si tu es capable de sortir le tableau voulu en html, tu n'es pas loin de réussir en pdf.
- Monegask26
- Nouveau WRInaute

- Messages: 12
- Inscription: 28 Juil 2010
Re: Variable PHP dans fichier PDF
Bonsoir tout le monde,
tout d'abord merci pour ces réponses rapides !
mrPringle, j'ai essayé avec ce que tu m'as fourni :
Mais rien n'y fait, j'obtiens le message suivant :
FPDF error: Some data has already been output, can't send PDF file
J'avais lu qu'il ne fallait pas envoyer de POST avant ou après le script FPDF.
Une solution ?
@ erestrebian ==> je n'ai pas très bien compris. Afficher les variable générées dans un tableau HTML je peux me faire ça (suffit de mettre le code du tableau dans echo en y placant les variables mais comment générer ensuite un fichier PDF à partir de cette page HTML générée ? Comment transformer un page HTML (tableau) en fichier PDF en utilisant FPDF comme tu dis ?
En tout cas merci à tous les 2, c'est sympa de s'occuper de mon cas désespéré !
tout d'abord merci pour ces réponses rapides !
mrPringle, j'ai essayé avec ce que tu m'as fourni :
- Code: Tout sélectionner
<html>
<center>
<script type="text/javascript">
<!--
if (top.location.href != self.location.href)
top.location.href = self.location.href;
//-->
</script>
<br><br>
<FORM Method="POST" Action="test.php">
MOT: <INPUT type=text value="" size=9 name="prix">
MOT: <INPUT type=text value="" size=9 name="variable1">
MOT: <INPUT type=text value="" size=9 name="variable2">
<INPUT type=submit value="Tester">
</FORM>
</center>
</html>
<?php
include("phpToPDF.php");
$PDF=new phpToPDF();
$PDF->AddPage();
$PDF->SetFont('Arial','B',16);
// Définition des propriétés du tableau.
$proprietesTableau=array();
if(ISSET($_POST["prix"]))
if(ISSET($_POST["variable1"]))
if(ISSET($_POST["variable2"]))
{
$prix = ($_POST["prix"]);
$variable1 = ($_POST["variable1"]);
$variable2 = ($_POST["variable2"]);
echo $prix; // Il faut entrer la variable à afficher
array_push($proprietesTableau, $prix, $variable1, $variable2); // Ajoute trois entrées au tableau $proprietesTableau
}
// Définition des propriétés du header du tableau.
$proprieteHeader = array(
'T_COLOR' => array(150,10,10),
'T_SIZE' => 12,
'T_FONT' => 'Arial',
'T_ALIGN' => 'C',
'V_ALIGN' => 'T',
'T_TYPE' => 'B',
'LN_SIZE' => 7,
'BG_COLOR_COL0' => array(170, 240, 230),
'BG_COLOR' => array(170, 240, 230),
'BRD_COLOR' => array(0,92,177),
'BRD_SIZE' => 0.2,
'BRD_TYPE' => '1',
'BRD_TYPE_NEW_PAGE' => '',
);
// Contenu du header du tableau.
$contenuHeader = array(
50, 50, 50,
"Titre de la première colonne", "année N-1", "année N",
);
// Définition des propriétés du reste du contenu du tableau.
$proprieteContenu = array(
'T_COLOR' => array(0,0,0),
'T_SIZE' => 10,
'T_FONT' => 'Arial',
'T_ALIGN_COL0' => 'L',
'T_ALIGN' => 'R',
'V_ALIGN' => 'M',
'T_TYPE' => '',
'LN_SIZE' => 6,
'BG_COLOR_COL0' => array(245, 245, 150),
'BG_COLOR' => array(255,255,255),
'BRD_COLOR' => array(0,92,177),
'BRD_SIZE' => 0.1,
'BRD_TYPE' => '1',
'BRD_TYPE_NEW_PAGE' => '',
);
// Contenu du tableau.
$contenuTableau = array(
@"$prix", 1, 2,
"champ 2", 3, 4,
"champ 3", 5, 6,
"champ 4", 7, 8
);
// D'abord le PDF, puis les propriétés globales du tableau.
// Ensuite, le header du tableau (propriétés et données) puis le contenu (propriétés et données)
$PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau);
$PDF->Output();
?>
Mais rien n'y fait, j'obtiens le message suivant :
FPDF error: Some data has already been output, can't send PDF file
J'avais lu qu'il ne fallait pas envoyer de POST avant ou après le script FPDF.
Une solution ?
@ erestrebian ==> je n'ai pas très bien compris. Afficher les variable générées dans un tableau HTML je peux me faire ça (suffit de mettre le code du tableau dans echo en y placant les variables mais comment générer ensuite un fichier PDF à partir de cette page HTML générée ? Comment transformer un page HTML (tableau) en fichier PDF en utilisant FPDF comme tu dis ?
En tout cas merci à tous les 2, c'est sympa de s'occuper de mon cas désespéré !
-

mrPringle - WRInaute impliqué

- Messages: 592
- Inscription: 11 Mar 2006
Re: Variable PHP dans fichier PDF
Essaie ça :
Par contre tu devrais peut-être voir à embaucher un "vrai" développeur juste pour quelques heures afin de te faire un truc propre car avec du bricolage, tu vas te galérer sur le long en terme en ajoutant des rustines un peu partout.
Tout du moins, tu devrais faire quelques tutos PHP pour comprendre et maîtriser les bases.
- Code: Tout sélectionner
<?php
include("phpToPDF.php");
$PDF=new phpToPDF();
$PDF->AddPage();
$PDF->SetFont('Arial','B',16);
// Définition des propriétés du tableau.
$proprietesTableau=array();
if(ISSET($_POST["prix"]))
if(ISSET($_POST["variable1"]))
if(ISSET($_POST["variable2"]))
{
$prix = ($_POST["prix"]);
$variable1 = ($_POST["variable1"]);
$variable2 = ($_POST["variable2"]);
//echo $prix; // Il faut entrer la variable à afficher
array_push($proprietesTableau, $prix, $variable1, $variable2); // Ajoute trois entrées au tableau $proprietesTableau
}
// Définition des propriétés du header du tableau.
$proprieteHeader = array(
'T_COLOR' => array(150,10,10),
'T_SIZE' => 12,
'T_FONT' => 'Arial',
'T_ALIGN' => 'C',
'V_ALIGN' => 'T',
'T_TYPE' => 'B',
'LN_SIZE' => 7,
'BG_COLOR_COL0' => array(170, 240, 230),
'BG_COLOR' => array(170, 240, 230),
'BRD_COLOR' => array(0,92,177),
'BRD_SIZE' => 0.2,
'BRD_TYPE' => '1',
'BRD_TYPE_NEW_PAGE' => '',
);
// Contenu du header du tableau.
$contenuHeader = array(
50, 50, 50,
"Titre de la première colonne", "année N-1", "année N",
);
// Définition des propriétés du reste du contenu du tableau.
$proprieteContenu = array(
'T_COLOR' => array(0,0,0),
'T_SIZE' => 10,
'T_FONT' => 'Arial',
'T_ALIGN_COL0' => 'L',
'T_ALIGN' => 'R',
'V_ALIGN' => 'M',
'T_TYPE' => '',
'LN_SIZE' => 6,
'BG_COLOR_COL0' => array(245, 245, 150),
'BG_COLOR' => array(255,255,255),
'BRD_COLOR' => array(0,92,177),
'BRD_SIZE' => 0.1,
'BRD_TYPE' => '1',
'BRD_TYPE_NEW_PAGE' => '',
);
// Contenu du tableau.
$contenuTableau = array(
$prix, 1, 2,
$variable1, 3, 4,
$variable2, 5, 6,
"champ 4", 7, 8
);
// D'abord le PDF, puis les propriétés globales du tableau.
// Ensuite, le header du tableau (propriétés et données) puis le contenu (propriétés et données)
$PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau);
$PDF->Output();
exit;
?><html>
<center>
<script type="text/javascript">
<!--
if (top.location.href != self.location.href)
top.location.href = self.location.href;
//-->
</script>
<br><br>
<FORM Method="POST" Action="test.php">
MOT: <INPUT type=text value="" size=9 name="prix">
MOT: <INPUT type=text value="" size=9 name="variable1">
MOT: <INPUT type=text value="" size=9 name="variable2">
<INPUT type=submit value="Tester">
</FORM>
</center>
</html>
Par contre tu devrais peut-être voir à embaucher un "vrai" développeur juste pour quelques heures afin de te faire un truc propre car avec du bricolage, tu vas te galérer sur le long en terme en ajoutant des rustines un peu partout.
Tout du moins, tu devrais faire quelques tutos PHP pour comprendre et maîtriser les bases.
- Monegask26
- Nouveau WRInaute

- Messages: 12
- Inscription: 28 Juil 2010
Re: Variable PHP dans fichier PDF
Ca fonctionne enfin ! Pour les $proprietesTableau, "{" n'était pas refermé d'ou une erreur php.
Merci à toi, mais en fait la boutique n'est pas la mienne, moi je n'ai que 17 ans et je peux me debrouiller en php c'est juste que PFPDF j'ai un peu de mal. J'aide un proche juste à mettre en place certaines choses en php car la personne s'occupe du marketing, etc. Mais j'y penserais, merci infiniment.
Merci à toi, mais en fait la boutique n'est pas la mienne, moi je n'ai que 17 ans et je peux me debrouiller en php c'est juste que PFPDF j'ai un peu de mal. J'aide un proche juste à mettre en place certaines choses en php car la personne s'occupe du marketing, etc. Mais j'y penserais, merci infiniment.
-

guicara - WRInaute passionné

- Messages: 2472
- Inscription: 2 Fév 2006
Re: Variable PHP dans fichier PDF
Bonjour,
Pour ceux et celles qui ont un peu de mal avec FPDF, je recommande l'excellent TCPDF 5.0 qui est une bonne alternative, plus facile à mettre en place et toute aussi puissante (je m'en sert pour l'édition de mes factures / devis).
Pour ceux et celles qui ont un peu de mal avec FPDF, je recommande l'excellent TCPDF 5.0 qui est une bonne alternative, plus facile à mettre en place et toute aussi puissante (je m'en sert pour l'édition de mes factures / devis).
7 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- upload de fichier via PHP : taille variable du fichier créé
- Lire un fichier PDF en PHP pour une indexation
- variable de recuperation de poids de fichier en php
- Fichier Robots.txt et variable en fin de .php
- Probleme variable php '.xxxx.' dans autre variable '.zzzz.'
- Fichier pdf
- Proteger un fichier PDF
- Générer un fichier pdf
- Restreindre l'accès à un fichier .pdf
- désindexer des fichier pdf
Consultez la description détaillée des produits ou services de Google suivants : Google PDF Quick View
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
