Aller au contenu

justifier un texte en PHP?


Sujets conseillés

Posté (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é par nyl auster
Posté
Où sont les clefs de ma voiture?

Tombées dans le caniveau :whistling:

Désolé, celle la elle était trop facile :hypocrite:

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.

Posté (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é par nyl auster
Posté

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...

Posté
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

Posté (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é par nyl auster

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...