Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/09/2011, 19h23   #1
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
Par défaut générer du pdf

Re bonjour a vous.....
J’essaie de générer du pdf a partir de ma page php.
j'ai essayé fpdf html2pdf et je n'y comprend pas grand chose.
J'ai trouvé html2fpdf qui parait il est sympa et facile. Le problème c'est qu'il date un peu et il y a donc des choses qui plantent. En l’occurrence ceci:
Code :
if(ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3))
qui me donne
Deprecated: Function ereg() is deprecated in E:\A_PC PORTABLE\www\PDF\html2pdf\examples\html2fpdf\html2fpdf.php on line 460
j'ai donc replacé ereg() par preg_replace() et ça me donne ceci:
Notice: Undefined variable: a3 in E:\A_PC PORTABLE\www\PDF\html2pdf\examples\html2fpdf\html2fpdf.php on line 460

Warning: preg_replace() [function.preg-replace]: Unknown modifier '=' in E:\A_PC PORTABLE\www\PDF\html2pdf\examples\html2fpdf\html2fpdf.php on line 460

Quelqu'un aurait une idée svp???
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 20h48   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 994
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 994
Points : 5 787
Points : 5 787
Envoyer un message via Skype™ à jreaux62
Bonjour,
-> preg_match() ou preg_match_all()
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 20h57   #3
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
J'ai déja esayé les 2 mais ça me donne la même erreur que preg_replace()

Apparemment, c'est dans
Code :
('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3)
qu'il y a quelque chose qui ne va pas...
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 15h26   #4
Futur Membre du Club
 
Homme
Inscription : septembre 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2011
Messages : 15
Points : 18
Points : 18
Bonjour.
Essaye avec l'extension PCRE qui remplace ereg().
Test également l'existence ta variable avec isset().
Sam__ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 17h14   #5
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
Alors voila, après avoir passé des heures a essayer, a tester les différentes voies, je me suis tourné vers tcpdf qui est vraiment beaucoup plus simple.
Il faut juste trouver le bon code parmi les 60 exemples pour que les "éèàç etc" ne fassent pas planter le code.

Ce qui se passe actuellement:
- inscription et insertion des données dans la BDD
- paiement en ligne,
- apparition de la facture pdf et envoi automatique d'un email de confirmation.

Ce que je voudrai faire:
- mettre cette facture pdf en pièce jointe dans l'email de confirmation

Est ce possible?
Quelqu'un a une idée?
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 12h06   #6
Invité de passage
 
Homme
Étudiant
Inscription : mai 2011
Messages : 45
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Distribution

Informations forums :
Inscription : mai 2011
Messages : 45
Points : 2
Points : 2
Ca y est, j'ai enfin réussi.
J'ai utilisé la classe TCPDF. Assez simple à utiliser.
Pour ceux que ça intéresse, je vous met le code qui permet de générer le pdf et l'envoyer automatiquement en pièce jointe.(Ici une facture).
Ne pas oublier de télécharger TCPDF
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
//============================================================+
// File name   : example_014.php
// Begin       : 2008-03-04
// Last Update : 2010-08-08
//
// Description : Example 014 for TCPDF class
//               Javascript Form and user rights (only works on Adobe Acrobat)
//
// Author: Nicola Asuni
//
// (c) Copyright:
//               Nicola Asuni
//               Tecnick.com s.r.l.
//               Via Della Pace, 11
//               09044 Quartucciu (CA)
//               ITALY
//               www.tecnick.com
//               info@tecnick.com
//============================================================+
 
/**
 * Creates an example PDF TEST document using TCPDF
 * @package com.tecnick.tcpdf
 * @abstract TCPDF - Example: Javascript Form and user rights (only works on Adobe Acrobat)
 * @author Nicola Asuni
 * @since 2008-03-04
 */
require_once('tcpdf/config/lang/fra.php');
require_once('tcpdf/tcpdf.php');
 
/ --------------------------- Création du pdf ---------------------------------------
 
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
 
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 006');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
 
 
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
 
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
 
//set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
 
//set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
 
//set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
 
//set some language-dependent strings
$pdf->setLanguageArray($l);
 
// ---------------------------------------------------------
 
// set font
$pdf->SetFont('dejavusans', '', 10);
 
// add a page
$pdf->AddPage();
 
// writeHTML($html, $ln=true, $fill=false, $reseth=false, $cell=false, $align='')
// writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=0, $reseth=true, $align='', $autopadding=true)
 
 
// create some HTML content
$html = '
<style type="text/css"> 
table.tableau { 
  font-family: "Trebuchet MS",Arial, Helvetica, Sans-Serif;
  color: #354012;
  background-color: #F3F7E3;
  border: 1px solid #ACCB43;
  padding: 5px;
  text-align: left;
} 
</style>
<table class="tableau" cellspacing="3" cellpadding="3">
	<tr>
		<td colspan="3"><img src="http://www.monsite.fr/images/logo.png" /><br><br>
		<center><b>FACTURE</b></center><br><br></td>
	</tr>
	<tr>
		<td class="entete">Entête de l\'entreprise</td>
		<td></td>
		<td>Entête du client</td>
	</tr>
	<tr>
		<td colspan="2">
		Transaction n°: 
		</td>
		<td>
	à  Ville, le Date
		</td>
	</tr>
	<tr>
		<td>Désignation</td>
		<td>Quantité</td>
	</tr>
	<tr>
		<td>Nom de l\'article vendu</td>
		<td>1</td>
	</tr>
	<tr>
		<td>Mode de règlement: </td>
		<td colspan="2">PRIX EN EUROS : 
		</td>
	</tr>
</table>';
 
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');
 
 
// reset pointer to the last page
$pdf->lastPage();
 
// ---------------------------------------------------------
 
//Close and output PDF document
$content = $pdf->Output('', 'S');
 
 
$contenu_mail = 'Contenu de l\' email';
$content = chunk_split(base64_encode($content));
$mailto = 'adresse@destinataire.fr';
$from_name = 'mon entreprise';
$from_mail = 'mon@entreprise.fr';
$replyto = 'mon@entreprise.fr';
$uid = md5(uniqid(time()));
$subject = 'Titre de l\'email';
$message = $contenu_mail;
$filename = 'nom_du_dossier_généré.pdf';
 
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$header .= $message."\r\n\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$header .= $content."\r\n\r\n";
$header .= "--".$uid."--";
$is_sent = @mail($mailto, $subject, "", $header);
 
?>
Bonne semaine a tous...
moimeme340 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h33.


 
 
 
 
Partenaires

Hébergement Web