chistof Posté 6 Octobre 2006 Posté 6 Octobre 2006 (modifié) Bonjour, Mon besoin est le suivant : un utilisateur tape un texte légèrement formaté (gras et italique, saut de ligne simple ou paragraphe par exemple) en mode WYSIWIG, il n'est contraint que par le nombre de mots maximum. On enregistre le message dans un champ texte d'une BD (MySQL). Puis il me faut une moulinette qui formate le texte dans une mise en page sur 3 colonnes justifiées dans un document PDF. L'utilisateur de l'appli ne devra pas se soucier du colonnage, la moulinette doit en fait passer automatiquement à la colonne suivante quand on arrive sur la dernière ligne et que le mot suivant ne rentre pas entièrement. Actuellement j'ai uniquement un <textarea> pour écrire mon texte. Je pensais utiliser TinyMCE pour formater le texte et peut être la librairie FPDF pour enregistrer à la volée le texte dans plusieurs colonnes, mais je ne sais pas si FPDF sera assez puissant pour automatiser tout cela. L'avantage est que le format de rendu final en PDF est prédéterminé, donc on peut le fixer une fois pour toute au début. Avez vous déjà rencontré des problématiques similaires ? Un tuyau ? Autrement dit quelles sont les solutions pour générer des PDF dans un format prédéfini avec du texte HTML dynamique ? Modifié 6 Octobre 2006 par chistof
robinsonvendredi Posté 6 Octobre 2006 Posté 6 Octobre 2006 J'utilise un composant dynamicpdf , il doit exister une librairie similaire en php. Toutefois mes données à traiter sont formatées en XML et non en html. Si ton HTML est basique (2 ou 3 balises différentes = il faudra que tu brides ton editeur area) et bien formé, tu peux faire un traitement de la chaîne constituée du code HTML à la recherche des balises. = tu démarres la chaine à la recherche de "<", tu lis ce qui se trouve entre "<" et ">", si par exmeple tu trouves un saut de paragraphe tu fais de même dans pdf, sinon tu testes les autres balises, tu coupes la chaine à droite et tu continues jusqu'à la fin de la chaîne. Tu comptes les colonnes + les lignes + les mots + les caractères, un fois arrivé à ton quota de caractère pour une ligne tu sautes de ligne sans couper le mot, une fois arrivé à ton quota de ligne tu sautes de colonnes, une fois arrivé à ton quota de colonne tu sautes de page.
chistof Posté 7 Octobre 2006 Auteur Posté 7 Octobre 2006 Oui ça peut être une piste intéressante cependant je crois qu'il faudrait prendre en compte la taille des lettres pour avoir un résultat très propre, si on ne fait que compter les caractères on aura des lignes de longueur différente. Et comment avoir l'info des dimensions de chaque lettre relativement à la police, à la taille, au style du texte en PDF ?
slender Posté 7 Octobre 2006 Posté 7 Octobre 2006 salut, tu as la fonction pdf_stringwidth() qui te retourne la largeur d'un texte avec la police courante.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant