nyl auster Posté 24 Novembre 2008 Posté 24 Novembre 2008 (modifié) Bonjour à tous Pour un projet je dois transformer un grand texte d'une base de données en une présentation type livre; c'est à dire pagination et texte justifié. Le html ne m'est probablement d'aucune utilité sur ce coup; il faut que je trouve un moyen de faire comprendre au php QUAND je dois insérer un saut de page. Or le saut de page dépend du nombre de lignes dans la page; lui même dépendant de la manière dont sont justifiés les caractères... Existe-t-il un moyen de justifier le texte avec une fonction php? Est-il réellement possible en php d'obtenir une présentation de page type livre à partir d'un long texte dans une base de données? Où sont les clefs de ma voiture? Merci de vos lumières ! Modifié 24 Novembre 2008 par nyl auster
Dadou Posté 24 Novembre 2008 Posté 24 Novembre 2008 Où sont les clefs de ma voiture? Tombées dans le caniveau Désolé, celle la elle était trop facile Pour un projet je dois transformer un grand texte d'une base de données en une présentation type livre; c'est à dire pagination et texte justifié. Le html ne m'est probablement d'aucune utilité sur ce coup; Faux en grande partie, le HTML et les CSS plus précisément peuvent t'aider. il faut que je trouve un moyen de faire comprendre au php QUAND je dois insérer un saut de page. hein? pourquoi si il s'agit d'imprimer, c'est en en auto le saut de page. Or le saut de page dépend du nombre de lignes dans la page; lui même dépendant de la manière dont sont justifiés les caractères... La justification ne joue pas sur le nombre de ligne de la page, par contre ce qui jouera, c'est surtout la police utilisé : les caractères au sein d'une même police n'ont pas forcement la même largeur, compare le i et le m Existe-t-il un moyen de justifier le texte avec une fonction php? Est-il réellement possible en php d'obtenir une présentation de page type livre à partir d'un long texte dans une base de données? Comme cela de but en blanc je dirais non. Mais précise plus ce que tu dois obtenir, il y a peut être une bidouille à faire.
nyl auster Posté 24 Novembre 2008 Auteur Posté 24 Novembre 2008 (modifié) hello merci de ton aide. En gros je dois reproduire précisément la mise en forme d'un livre à partir d'un long texte stocké dans une base de donnée. Ce petit livre devra être ensuite transformé en une version PDF. Concernant le PDF, je dois respecter certains règles concernant les pages impaires par exemple; je ne peux donc pas compter sur un automatisme de saut de page (un chapitre doit toujours commencer sur une page impaire par exemple). Il faut donc qu'en PHP je sois capable conceptuellement d'isoler une page et de manipuler cette donnée: de matérialiser la séparation entre les pages au sein de mon texte contenu dans la BDD. Peut être que je peux peut être me débrouiller avec le nombre de caractères par page si tu dis que cette donnée est stable avec la justification css. je pourrais insérer un saut de page tous les x "caractères" et la présentation css fera la justification css lors de l'affichage uniquement... Mais peut être que je ne prends pas le problème dans le bon sens? C'est une partie du projet que j'avais gravement sous-estimée et j'avoue ne pas savoir par quel bout m'y prendre. Modifié 24 Novembre 2008 par nyl auster
captain_torche Posté 24 Novembre 2008 Posté 24 Novembre 2008 Tu devrais pouvoir gérer tout ça avec FPDF (quoique je ne suis pas sûr pour la page de démarrage des chapitres, mais si ça n'est pas prévu, ça devrait être facilement codable "à la main").
nyl auster Posté 24 Novembre 2008 Auteur Posté 24 Novembre 2008 yes pour FPDF, je vais tester ça à fond. Peut être qu'effectivement je peux jouer uniquement sur la pagination du PDF si celle ci peut se faire automatiquement...
Dadou Posté 24 Novembre 2008 Posté 24 Novembre 2008 Peut être que je peux peut être me débrouiller avec le nombre de caractères par page si tu dis que cette donnée est stable avec la justification css. je pourrais insérer un saut de page tous les x "caractères" et la présentation css fera la justification css lors de l'affichage uniquement... Non, je n'ai pas dit que cette donnée est stable avec la justification CSS, j'ai dit que quelque soit sa justification, une ligne contiendra le même nombre de caractères (la justification ne fait que jouer entre les espaces des mots), mais d'une ligne à l'autre ce nombre peut varier. Concernant le positionnement automatique d'un nouveau chapitre sur une page impaire tu vas t'amuser, FPDF ne gère pas cela, et je ne connais rien qui le fasse. Est-il possible dans le texte que tu stockes en base de données de mettre un "marqueur" a chaque nouveau chapitre? L'idéal serait même de faire un enregistrement par chapitre. Car, avec FPDF tu pourrais ainsi insérer ton chapitre, a la fin de ce dernier utiliser AddPage pour changer de page, utiliser PageNo pour savoir si tu es sur une page paire ou impaire, dans le cas d'une page impaire, réutiliser AddPage puis insérer ton nouveau chapitre, et ainsi de suite
nyl auster Posté 24 Novembre 2008 Auteur Posté 24 Novembre 2008 (modifié) re-hello ok pour la justification. oui j'ai prévu une table "chapitres" donc pas de souci pour cet aspect; ta méthode me parait très bonne. Je vais effectivement essayer de tout faire avec FDPF qui est la meilleure solution. Je suis impressionné par la puissance de FPDF que je suis en train de tester réellement pour la première fois : il est pas mal souple et génère relativement vite de très gros textes. Mais je fais le test tout seul, sans doute que si dix (ou plus) utilisateurs génère un pdf à la volée en même temps, ça devient difficile pour le serveur... Quoiqu'il en soit merci pour voter aide précieuse. Modifié 24 Novembre 2008 par nyl auster
captain_torche Posté 24 Novembre 2008 Posté 24 Novembre 2008 J'imagine que tes textes n'ont pas vocation à changer fréquemment. Dans ce cas, ne génère le fichier que s'il n'existe pas encore, puis enregistre-le.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant