Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2736 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Transformation en PDF avec FPDF

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Transformation en PDF avec FPDF

n°2237001
dantalcong​o
Posté le 04-09-2014 à 17:03:49  profilanswer
 

Bonjour,
 
Je suis en cours de dev d'une petite appli.  
Je suis à la phase d'impression du ticket de caisse.
 
Je n'ai pas de problème pour générer le pdf à imprimer, mais la ou je bloque c'est sur le format de page.
 
Dans la documentation on fixe le format de page avec la commande:
 
$pdf = new FPDF('P','mm', array (xxx,yyy));
Ou xxx/yyy représente la largeur/longueur de la page si on utilise pas un format basique (A4, letter....)
 
mon problème est de quelle manière je puis fixer la largeur (xxx) et laisser la longueur en automatique.
 
Mon format d'impression et du style ticket de caisse qui sera imprimer sur une imprimante thermique. La largeur de l'impression est fixe (80mm), mais la longueur varie ne fonction de la quantité d'article sur la fiche.
Existe-t-il un moyen de la laisser en auto?
 
Merci d'avance.


Message édité par dantalcongo le 05-09-2014 à 12:20:08
mood
Publicité
Posté le 04-09-2014 à 17:03:49  profilanswer
 

n°2237069
rufo
Pas me confondre avec Lycos!
Posté le 05-09-2014 à 11:50:38  profilanswer
 

Ben sinon, tu peux rester en A4 mais tu gères toi-même le fait que ton contenu ne doit pas faire plus de 80mm de large. De toute manière, la troncature des textes trop longs n'est pas gérée en auto avec FPDF autant que je me souviennes. Donc, autant le faire toi-même, tu gagneras toujours à pas te gérer le changement de page ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2237071
dantalcong​o
Posté le 05-09-2014 à 12:08:55  profilanswer
 

Bien,
 
J'ai préféré passer par des variables.
$pdf = new FPDF('P','mm', array ($x,$y))
 
POur $x, je le fixe à 80 et pour $y, je passe par une prè requete qui va me compter combien de résultat va ressortir la requete.
Je multiplie le nombre de lignes par une valeur correspondant à l'écartement entre chaque ligne (on le fixe manuellement) et je pousse cette variable sur mon array($x, $y).
 
AInsi quand je lance le fichier, la longueur est automatiquement calculé en fonction du nombre d'article.
 
Problème résolu de manière détournée.

n°2237090
rufo
Pas me confondre avec Lycos!
Posté le 05-09-2014 à 14:37:23  profilanswer
 

Et si $y dépasse la longueur d'un A4 ? Ca marche aussi ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2237102
dantalcong​o
Posté le 05-09-2014 à 15:42:02  profilanswer
 

Eh bien l'imprimante à ticket ne s'arrête pas à une longueur donnée. Elle imprime ce qu'elle a dans son spool et ensuite coupe le ticket.  
 
Je dois dire que les tests effectués ne vont pas au dela d'une feuille A4 à ce stade de développement.
 
Je regarderai avec une liste d'article plus longue ce qu'il en est. Mais je ne pense pas que cela bloque sur une imprimante ticket thermique.

n°2237113
rufo
Pas me confondre avec Lycos!
Posté le 05-09-2014 à 16:49:46  profilanswer
 

C'est pas l'imprimante qui va poser pb mais le PDF généré. Si t'essayes d'écrire du texte alors que t'es sorti de la page, y'a fort à parier que soit FPDF lève une erreur soit que le contenu en dehors de la page soit purement ignoré (donc pas imprimé). :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2237120
dantalcong​o
Posté le 05-09-2014 à 17:02:25  profilanswer
 

Je comprends ce que tu écris, mais je ne pense pas que cela ce produise.
 
Dans la mesure ou je fixerai la longueur de cette manière
$pdf = new FPDF('P','mm', array (21,29.7))
ou
$pdf = new FPDF('P','mm', 'A4')  
 
Je dirai oui, si j'ai trop de ligne je sortirai du format du pdf.
Mais justement en mettant la longueur de ma feuille en variable, je ne peux justement pas sortir de la page car sa longueur sera automatiquement calculé et ajusté avant la fin du pdf.
$pdf-> Output();
 
VOici comment j'ai procédé:
 
Ma requete qui interroge la bdd pour extraire les résultats attendus
$requete="select...............WHERE....";
$lancementrequete=mysqli_query($bdd,$requete);
$nombrederesultat=mysqli_num_rows(lancementrequete);
 
$longueurticket=($nombrederesultat*xx)+yy
 
[ ou x représente la hauteur des cell/multicell et yy la hauteur de mon entête de ticket]
 
En procédant ainsi, avant de générer le ticket en pdf je sais déjà quelle sera sa longueur max.
 
Il ne reste plus que:
$taillepage= array(80,$longueurticket);
 
$pdf = new FPDF('P','mm', $taillepage);
$pdf->AddPage();
 
et on poursuit sur le formatage du pdf.
 
Voila comment j'ai détourné mon problème initial.
 
Je te laisse essayer si ca te tente!!

n°2237149
rufo
Pas me confondre avec Lycos!
Posté le 06-09-2014 à 00:01:58  profilanswer
 

Du moment que ça marche pour toi, que qq soit la longueur du ticket, même si ça prend plusieurs pages A4, ta méthode marche et que ça t'imprime tout nickel, tant mieux ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] Transformation en PDF avec FPDF

 

Sujets relatifs
Automatisation de formulaire PDF[FPDF] Problème de disposition Multicell après un Page Break
une feuille = une PAGE PDFFPDF : image exactement à 18cm
Lien inactif selon navigateur dans document PDFReader Adobe PDF en local sur page HTML
Bibliothèque de génération de graphiques & PDF en Java (Open-Source)lire documents|*. Txt;* .Rtf ;* . Docs ;* . PDF ;* . Xlsx dans Picture
Zend Frameword - MVC - Problème avec bibliothèque FPDFEnregistrement en PDF sur réseau
Plus de sujets relatifs à : [RESOLU] Transformation en PDF avec FPDF


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR