Comment mettre ma facture en PDF

msi79
Messages postés
501
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
7 juin 2022
- 20 août 2014 à 15:22
msi79
Messages postés
501
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
7 juin 2022
- 21 août 2014 à 16:34
Bonjour,
voila que j'ai été conseillé de mettre ma facture en PDF pour que mon application soit plus professionnelle.
j'ai bien suivi le tutoriel de https://www.youtube.com/watch?v=DnN-mA3r3HE mais malgré ça j'y arrive pas. je crois qu'il doit s'agir d'un problème de chemin.

j'explique la configuration de mes dossiers ou se trouvent mes fichiers afin que vous puissiez m'aider.

1.www
2.APLICATION
3. - index.php
- page
- function
- css
- html2pdf
- data.txt

facture.php se trouve dans page

et voici mon code tenté:

<?php
//pour tester sans base de donnees
extract(unserialize(file_get_contents('datas.txt')));
/*

et la j'ai deversé tout mon code que j'avai pour ma facture ici


*/
<?php
$content = ob_get_clean();
require('html2pdf/html2pdf.class.php');
try{
$pdf = new HTML2PDF('P','A4','fr');
$pdf->pdf->SetDisplayMode(fullpage);
$pdf->writeHTML($content);
$pdf->output('test.pdf');
}catch(HTML2PDF_exeption $e){
die($e);
}
?>

rien ne s'affiche dans la page pdf.
merci de bien vouloir m'aider

2 réponses

jordane45
Messages postés
36036
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 août 2022
358
Modifié par jordane45 le 21/08/2014 à 08:53
Bonjour;

-Tu as correctement fais l'include de la class PDF ?
.. ce que je veux dire...
Si le fichier ne se trouve pas au même niveau que ta page... il te faut .. soit utiliser le chemin "complet" à partir du root directory... soit utiliser un chemin relatif...
require('../html2pdf/html2pdf.class.php');


-Tu as essayé de mettre des Echo dans ton code pour voir si tes variables sont bonnes ?
-Tu peux nous montrer ton code complet ?


Merci de faire un effort lorsque tu poses tes questions sur le forum... à chaque fois on rame pour obtenir un minimum d'infos.....

Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
msi79
Messages postés
501
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
7 juin 2022
1
21 août 2014 à 09:05
j'ai réussi a faire . ça passe très bien en local . ais voila que chez l'hébergeur ça n'affiche pas correctement et je reçois cette erreur.
TCPDF ERROR: Some data has already been output to browser, can't send PDF file.

et l affichage n'est pas du tout correcte.
voici on code :
<?php
//include('menu/menu.php');
extract(unserialize(file_get_contents('datas.txt')));
include('functions/FACTUREDERNIER_tva.func.php');
//Connexion a la base de données
mysql_connect('localhost','root','') or die('error');
mysql_select_db('paciecommdbdd') or die('Bdd introuvable');

//mysql_connect('paciecommdbdd.mysql.db','paciecommdbdd','pacie2014') or die('error');
//mysql_select_db('paciecommdbdd') or die('Bdd introuvable');

if(isset($_GET['nom'])) $nom = urldecode($_GET['nom']);
if(isset($_GET['num'])) $num = urldecode($_GET['num']);
if(isset($_GET['tel'])) $tel = urldecode($_GET['tel']);
if(isset($_GET['id_com'])) $id_com = urldecode($_GET['id_com']);
if(isset($_GET['ncc'])) $ncc = urldecode($_GET['ncc']);
if(isset($_GET['date'])) $date = urldecode($_GET['date']);
if(isset($_GET['adress'])) $adress = urldecode($_GET['adress']);
//RECUPERATION DES INFOS DU CLIENT
$q_cl = "SELECT *
FROM compt_clients

";
$req_cl = mysql_query($q_cl) or die("blem de requete sql");
$row_cl = mysql_fetch_assoc($req_cl);
//RECUPERATION DE LA DATE
$dates = explode("/",$date);
$mois = $dates[1];
$jour = $dates[0];
$annee = $dates[2];

//MARQUE ENCAISSE
$result = mysql_query("
UPDATE articles
SET espece = '1'


");
//EXTRATION DE LA TVA
$q_tva = mysql_query("SELECT * FROM tb_tva") or die("error");
$r_tva = mysql_fetch_assoc($q_tva);
?>

<page backtop="20mm" backleft="10mm" backright="10mm" backbottom="30mm" >
<table width="359" border="0" style="text-align:left; position: absolute; top:0px; left: 400px ;" >
<tr>
<td align="left">Date:</td>
<td align="left"><?php echo $date;?></td>
</tr>
<tr>
<td width="99" align="left">Nom :</td>
<td width="264" align="left"><?php echo $nom;?></td>
</tr>
<tr>
<td width="99" align="left">Cel : </td>
<td align="left"><?php echo $tel;?></td>
</tr>
<tr>
<td align="left">NCC:</td>
<td align="left"><?php echo $row_cl["ncc"];?></td>
</tr>
<tr>
<td align="left"> Adresse:</td>
<td align="left"><?php echo $row_cl["adress"];?></td>
</tr>
</table><br/><br/><br/><br/>
<?php
// on crée la requête SQ
$sql = "SELECT * FROM articles WHERE id = '".$id_num."' ";

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
$j=$i%2;

echo '<div style="background-color: #FFFFFF; position: absolute; top:100px; left: 200px ;">
<table width="244" border="0" align="left">
<tr>
<td width="100">DATE : </td>
<td width="200">'.$liste_etu['dateArt'].'</td>
</tr>

</table>
</div>';
}
// on crée la requête SQ
$sql = "SELECT *
FROM numenreg N,articles A
WHERE N.numEnreg = '".$num."'
AND N.numEnreg = A.num
";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu = mysql_fetch_assoc($req)) {
$j=$i%2;
if($liste_etu["taux"] == ''){$AIR = 2;}else{$AIR = 1;}
?>
<div style="background-color: #FFFFFF; position: absolute; top: 100px; left: -16px;">
<table width="416" border="0" align="left" >

<tr>
<td width="113" ><u>FATCTURE N°: </u></td>
<td width="293" align="left" ><?php echo $id_com.'/'.$AIR.'/'.$annee.'-'.$mois.'-'.$liste_etu["numEnreg"]; ?></td>
</tr>
</table>

</div>
<?php
}
$color=array('#333333','#999999');
$i=0;
// on crée la requête SQL
$sql = "SELECT b.id_num,
a.dateArt,
a.num,
a.articleVendu,
a.articleRef,
a.articleQuant,
a.articlePU,
a.id,
a.taux,
b.numEnreg,
a.articleQuant*a.articlePU AS total
FROM articles a,numenreg b
WHERE b.id_num = a.id
AND a.num = '".$num."' ";

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
?>


<table style="width:150px">
<tr style="font-weight:bold;border: 1px solid black; ">
<td width="13%" bgcolor="#CCCCCC" style="border: 1px solid black; ">Référence</td>

<td width="32%" bgcolor="#CCCCCC" style="border: 1px solid black; "><div align="center" class="Style7">Désignation</div></td>
<td width="11%" bgcolor="#CCCCCC" style=";border: 1px solid black;"><div align="center" class="Style7 Style5">Qtité</div></td>
<td width="11%" bgcolor="#CCCCCC" style=";border: 1px solid black;"><div align="center" class="Style5 Style7">PU HT </div></td>
<td width="17%" bgcolor="#CCCCCC" style=";border: 1px solid black;"><div align="center" class="Style4"><span class="Style9 Style7">Montant</span> HT</div></td>
</tr>
<?php
while ($liste=mysql_fetch_assoc($req)) {
$j=$i%2;

?>

<tr bgcolor=#33FFFF style=";border: 1px solid black;">
<td bgcolor="#FFFFFF" style=";border: 1px solid black;" ><?php echo $liste['articleRef'] ?></td>
<td bgcolor="#FFFFFF" style=";border: 1px solid black;"><?php echo $liste['articleVendu'] ?></td>
<td bgcolor="#FFFFFF" align="center" style=";border: 1px solid black;"><?php echo $liste['articleQuant'] ?></td>
<td bgcolor="#FFFFFF" align="center" style=";border: 1px solid black;"><?php echo $liste['articlePU'] ?></td>
<td bgcolor="#FFFFFF" align="center" style=";border: 1px solid black;"><?php $tot = number_format($liste['total'], 0, ',', ' '); echo $tot;?></td>
</tr>
<?php
}
?>
<tr style="height:250px">
<td style="height:250px;border: 1px solid black;"> </td>
<td style="height:150px;border: 1px solid black;"> </td>
<td style="height:150px;border: 1px solid black;"> </td>
<td style="height:150px;border: 1px solid black;"> </td>
<td style="height:150px;border: 1px solid black;" > </td>
</tr>

<?php
$sql = "SELECT SUM(a.articleQuant*a.articlePU) AS leTotal
FROM articles a
,numenreg b
WHERE id_num = id
AND num = '".$num."'
";

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while ($liste_etu=mysql_fetch_assoc($req)) {
$j=$i%2;
$le_tot = number_format($liste_etu['leTotal'], 0, ',', ' ');

$total_AIRSI = $liste_etu['leTotal'] ;
$total_AIRSI0 = number_format($total_AIRSI, 0, ',', ' ');
$total_TTC = $liste_etu['leTotal'] ;
$total_TTC0 = number_format($total_TTC, 0, ',', ' ');
$NET = $total_AIRSI + $liste_etu['leTotal'] ;
$NET = number_format($NET, 0, ',', ' ');
?>

<tr >
<td colspan="2" rowspan="5" align="center" style=";border: 1px solid black;"> </td>
<td colspan="2" style="text-align:left; font-weight:bold;border: 1px solid black;" >TOTAL HT</td>
<td align="center" style="border: 1px solid black;" ><?php echo $le_tot; ?></td>
</tr>
<tr >
<td colspan="2" style="text-align:left; font-weight:bold;border: 1px solid black;">TVA  0%</td>
<td align="center" style=";border: 1px solid black;"><?php echo '-'; ?></td>
</tr>
<tr >
<td colspan="2" style="text-align:left; font-weight:bold;border: 1px solid black;">TOTAL TTC</td>
<td align="center" style=";border: 1px solid black;"><?php echo $le_tot; ?></td>
</tr>
<tr >
<td colspan="2" style="text-align:left; font-weight:bold;border: 1px solid black;">AIRSI  7,5%</td>
<td align="center" style=";border: 1px solid black;"><?php echo '-'; ?></td>
</tr>
<tr >
<td colspan="2" style="text-align:left; font-weight:bold;border: 1px solid black;">NET A PAYER</td>
<td align="center" style=";border: 1px solid black;"><?php echo $le_tot; ?></td>
</tr>
<?php
}
?>
</table>



<div style="position: absolute; top: 629px; left: 9px; width: 685px; height: 50px; background-color: #757575;">
<table width="893" border="0" style="background-color:#E1E1E1; color:#FFF">
<tr>
<td>
ARRETER LA PRESENTE FACTURE A LA SOMME DE :
<?php
$a = new chiffreEnLettre();
echo $a->ConvNumberLetter($total_TTC,1,0);
?>
</td>
</tr>
</table>
</div>



<div style="background-color: #FFFFFF; position: absolute; top: 700px; left: 50px;">
<u>Le Responsable Commercial</u>
</div>
<div style="background-color: #FFFFFF; position: absolute; top: 700px; left: 550px;">
<u>Le Directeur</u>
</div>



<div style="background-color: #FFFFFF; position: absolute; top: 800px; left: 50px;">
<u><strong>Mlle Sandrine GOUAN</strong></u>
</div>
<div style="background-color: #FFFFFF; position: absolute; top: 800px; left: 550px;">
<u><strong>M. Romuald KLA</strong></u>
</div>
</page>
<?php
$content = ob_get_clean();
require('html2pdf/html2pdf.class.php');
try{
$pdf = new HTML2PDF('P','A4','fr');
$pdf->pdf->SetDisplayMode(fullpage);
$pdf->writeHTML($content);
$pdf->output('test.pdf');
}catch(HTML2PDF_exeption $e){
die($e);
}
?>
0
jordane45
Messages postés
36036
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 août 2022
358
21 août 2014 à 13:44
Tu essayes de transformer tes données en PDF dans une page qui affiche déjà des données (ah.. ben tiens.. c'est ton message d'erreur il me semble..)
Bref...
Tu as une Page où tu affiches tes données (enfin...si tu le souhaites)
et UNE AUTRE page qui elle ne sert qu'à créer le PDF.
0
msi79
Messages postés
501
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
7 juin 2022
1
21 août 2014 à 16:31
je te suis pas du tout
0
msi79
Messages postés
501
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
7 juin 2022
1
21 août 2014 à 16:34
ce qui es étrange le même code en local passe parfaitement. le PDF s'affiche parfaitement . donc je me demande si c'est pas lié à l hébergeur
0