Vous n'êtes pas identifié(e).
Pages :: 1
salut,
voila je suis entrain de créer un prog pour générer des étiquettes avec le script FPDF.
je n'arrive pas à faire commencer mes étiquettes sur 1 page et première colonne.
dans l'exemple par défaut il y a ceci :
// Dans cet exemple on va commencer l'impression des étiquettes à partir de la seconde colonne (cf les 2 derniers paramètres 1 et 2)
//$pdf = new PDF_Label(array('name'=>'perso1', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99.1, 'height'=>'38.1', 'metric'=>'mm', 'font-size'=>14), 1, 2);
$pdf = new PDF_Label('L7163', 'mm', 1, 2); donc moi je me suis dit que j'allais mettre :
$pdf = new PDF_Label('L7163', 'mm', 1, 1); pour commencer à la première colonne et cela ne fonctionne pas car il me crée une page vide et sur la 2 iéme page il commence à la première colonne.
est ce qu'il y a des personnes qui utilisent cela et surtout qu'ils veuillent bien m'aider.
Merci.
A+
Hors ligne
Saluton,
Le problème est que tu utilises une extension de FPDF, FPDF_Label, et que je ne connais pas toutes les extensions (et loin de là) que propose leur site.
Pour celle-ci, de mémoire, je sais qu'il ne faut pas prendre à la lettre tout ce qui est mis dedans en commentaires, par exemple, les tailles ne sont pas en mm mais toujours en points.
Par contre, as-tu posé la question sur leur forum ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Je reviens du site FPDF, as-tu essayé de faire tout bêtement comme dans l'exemple du script de LPA ?
// Format standard
$pdf = new PDF_Label('L7163');
$pdf->AddPage();
// On imprime les étiquettes
for($i=1;$i<=20;$i++) {
$text = sprintf("%s\n%s\n%s\n%s %s, %s", "Laurent $i", 'Immeuble Toto', 'av. Fragonard', '06000', 'NICE', 'FRANCE');
$pdf->Add_Label($text);
}
$pdf->Output();
?>
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
je raméne mes infos d'une base mysql donc du coup j'ai fait ceci comme prog :
$query="select * from infos WHERE id_person = $value";
$resultat=mysql_query($query);
// On imprime les étiquettes
while($row=mysql_fetch_array($resultat))
{
$nom = $row['nom'];
$prenom = $row['prenom'];
$civilite = $row['genre'];
$adresse1 = $row['adresse1'];
$adresse2 = $row['adresse2'];
$codepostal = $row['codepostal'];
$ville = $row['ville'];
//mise à jour du drapeau comme quoi l'étiquette a été imprimé
mysql_query ("UPDATE infos SET impression_etiquette = $drapo_etiquette WHERE id_person = $value");
//insertion info dans table impression
mysql_query("INSERT INTO impression (id_impression, date_impression, heure) VALUES ('', '$date', '$heure')");
if ($adresse2 !="")
{
//Sortie étiquette en PDF
$pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s\n%s %s", "$civilite " , "$nom", " $prenom", "$adresse1", "$adresse2", "$codepostal", "$ville"));
}
else
{
$pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s %s", "$civilite " , "$nom", " $prenom", "$adresse1", "$codepostal", "$ville"));
}
}
//$prenom = $row['prenom'];
//$civilite = $row['genre'];
//$adresse1 = $row['adresse1'];
// $pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s, %s, %s", "$civilite " , "$nom", " $prenom", "$adresse1", '06000', 'NICE', 'FRANCE'));
}
$pdf->Output();
//$pdf->Output('etiquette.pdf');
mysql_close();
} else
{
echo "Aucune case n'a été coché";
}
?>
Merci pour l'aide.
Edit : avec le code en couleur c'est mieux
moogli
Dernière modification par patlechat (13-05-2009 16:55:19)
Hors ligne
svp - utilise la balise [.code=php]... [./code] (sans les .) - cela sera beaucoup plus lisible et agréable
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Le moins qu'on puisse dire c'est que tu ne lésines pas sur les requêtes d'UPDATE.
Une seule requête finale reprenant toutes les id dans un IN et le tour était joué.
Je ne vois pas dans ton code ce qui instancie la classe PDF_Label, il est donc difficile de se prononcer sans l'intégralité du code.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
voici ma page de prog complete:
// Dans cet exemple on va commencer l'impression des étiquettes à partir de la seconde colonne (cf les 2 derniers paramètres 1 et 2)
$pdf = new PDF_Label('L7163', 'mm', 1, 2);
//si case à coché n'est pas vide alors ...
if (!empty($_POST['liste']))
{
$valeurcoche=$_POST['liste'];
$drapo_etiquette = "1";
$date= date("d/m/Y");
$heure = date("H:i");
$pdf->Open();
$pdf->AddPage();
foreach ($valeurcoche as $value) //tu passes la valeur actuelle dans une clef
{
$query="select * from infos WHERE id_person = $value";
$resultat=mysql_query($query);
// On imprime les étiquettes
while($row=mysql_fetch_array($resultat))
{
$nom = $row['nom'];
$prenom = $row['prenom'];
$civilite = $row['genre'];
$adresse1 = $row['adresse1'];
$adresse2 = $row['adresse2'];
$codepostal = $row['codepostal'];
$ville = $row['ville'];
//mise à jour du drapeau comme quoi l'étiquette a été imprimé
mysql_query ("UPDATE infos SET impression_etiquette = $drapo_etiquette WHERE id_person = $value");
//insertion info dans table impression
mysql_query("INSERT INTO impression (id_impression, date_impression, heure) VALUES ('', '$date', '$heure')");
if ($adresse2 !="")
{
//Sortie étiquette en PDF
$pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s\n%s %s", "$civilite " , "$nom", " $prenom", "$adresse1", "$adresse2", "$codepostal", "$ville"));
}
else
{
$pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s %s", "$civilite " , "$nom", " $prenom", "$adresse1", "$codepostal", "$ville"));
}
}
//$prenom = $row['prenom'];
//$civilite = $row['genre'];
//$adresse1 = $row['adresse1'];
// $pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s, %s, %s", "$civilite " , "$nom", " $prenom", "$adresse1", '06000', 'NICE', 'FRANCE'));
}
$pdf->Output();
//$pdf->Output('etiquette.pdf');
mysql_close();
} else
{
echo "Aucune case n'a été coché";
}
?>
Merci pour l'aide.
Dernière modification par patlechat (13-05-2009 17:41:39)
Hors ligne
Je serais toi je virerais déjà ce $pdf->Open(); qui ne me dit rien qui vaille.
Ensuite pourquoi un SELECT * La guerre des étoiles
ensuite utilises plutôt mysql_fetch_assoc() (voire, encore plus meilleur PDO)
et, surtout, pourquoi une requête dans la boucle foreach ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour,
j'ai trouvé la soluce en fait dans mon prog, j'ai mis $pdf = new PDF_Label('L7163'); au lieu de $pdf = new PDF_Label('L7163', 'mm', 1, 2); et j'ai également supprimé $pdf->AddPage(); avant ma boucle foreach
Merci pour les remarques de prog.
A+
Hors ligne
petit tag {résolu} demandé !
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Pages :: 1