Aller au contenu
  • 0
Bernard M

Nombre de lignes dans une rubrique texte ?

Question

Bonjour à tous, 

Je cherche le moyen d'avoir une estimation du nombre de lignes utilisées dans une rubrique texte. 

Peu importe qu'on ait fait des retour chariots ou qu'on ait tapé au kilomètre avec des retours à la ligne automatique arrivé en bord droit de rubrique...  je voudrais savoir lorsqu'on arrive à par exemple 40 lignes.

C'est bien sûr  pour une rubrique donnée dans un modèle, avec son style, sa police et sa taille de caractère définis pour cette rubrique là. 

Quelqu'un a t il une astuce pour ceci ? 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

19 réponses à cette question

Messages recommandés

  • 0

C'est la question piège sur laquelle buttent tout ceux qui font de la mise en page et pas seulement sur FMP... Tu peux le savoir dans Word si le cœur t'en dit. Mais bon faire un copier coller pour compter ses lignes : bof 😞

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Bernard,

Il n'y a pas vraiment de solution, et ce d'autant que sauf si tu utilises en jeu de menus personnalisé, les utilisateurs peuvent modifier la font, la taille de police, etc, ce qui faussera tout contrôle.

On peut compter les caractères, compter les mots, etc, et faire certains contrôle en fonction, mais ça n'est pas exactement ce que tu cherches.

Pour trouver une solution, il faudrait savoir quel est l'objectif final précis...

Bonne journée

Jérémie

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci à vous deux.   On va sans doute en faire le deuil. 

J'aurais voulu un petit message qui avertissait quand la taille du texte d'une rubrique dépassait la taille de ce qui est possible d'afficher dans le modèle d'impression. 

Mais je pense qu'on va faire sans... 

Grand merci les amis. 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Une semi-solution existe au niveau de la mise en page du modèle de saisie.

Dans le modèle de saisie, tu peux créer un champ qui corresponde exactement à la longueur de texte permise sur la modèle d'impression. Pour ce faire, tu ouvres les 2 modèles en parallèles, et tu adaptes la taille de la rubrique de saisie jusqu'à constater que si la rubrique d'impression est remplie, la rubrique côté saisie l'est aussi.   (à quelques caractères près)

Ensuite, en-dessous de la rubrique côté saisie, tu dessines un trait et tu écris "Fin de la zone d'impression" ou "Fin du texte imprimable".

Ceci encouragera l'utilisateur à constater qu'il est arrivé en fin de rubrique. Avec un peu d'attention de sa part, il y a une chance qu'il respecte cela et n'écrive pas au-delà, même si rien ne l'en empêchera concrètement.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci Jérémie... C'est effectivement une  chouette idée... Je vais faire ça comme ça 🙂 

Belle journée à Lyon !  Bernard 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Je t'en prie.

Bonne journée à toi aussi, à Bruxelles !   😉

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Il y avait bien une solution postée par @Fausto (si quelqu'un a des nouvelles…) sur ce forum il y a des années. Reste à le retrouver et aussi à voir si la technique fonctionne encore avec les modèles en .fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Dernière connexion en décembre 2008… Tu as de la mémoire !!

Il faisait de belles… frases, dayeurs !   😄

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Octobre 2006… Bravo à tous les 2 pour la mémoire !   😲

Visiblement, ça marche en FMP 16. Mais visiblement, si on joue sur la mise en page ou sur le zoom, il faut modifier le layout…

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Le 15/06/2018 à 08:55, Jérémie Gimenez a dit :

Octobre 2006… Bravo à tous les 2 pour la mémoire !   😲

Visiblement, ça marche en FMP 16. Mais visiblement, si on joue sur la mise en page ou sur le zoom, il faut modifier le layout…

En FMP 17 aussi...

En tout cas bravo à son auteur. Ca m'apporte une solution simple à mes problèmes d'impression.

Quand au zoom, ca ne change rien puisque le comptage se fait en mode prévisualisation. 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Je voulais dire le zoom dans les options d'impression de MacOS (90%, etc.). Là, ça coince.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonsoir,

Le 12/06/2018 à 16:10, Bernard M a dit :

……Je cherche le moyen d'avoir une estimation du nombre de lignes utilisées dans une rubrique texte [...] donnée dans un modèle, avec son style, sa police et sa taille de caractère définis pour cette rubrique là. 

requête à laquelle j'ai pour le sport ajouté le retrait de première ligne de paragraphe.

Autre approche donc…

En "travaillant" sur un truc impliquant des PDFs,  l'API "iText" m'a rappelé qu'elle comporte deux classes (pdfCell et columnText) qui toutes deux embarquent des méthodes capables de déterminer le nombre de lignes distribuées dans une cellule de tableau ou dans une colonne; et aussi de savoir si le texte distribué dans la 'cellule' ou la 'colonne' nécessite ou non plus d'espace.


L'exemple proposé (qui n'est qu'au stade de brouillon) suppose…

  • que le plugin ScriptMaster est installé et activé. (Pas de tests particuliers implémentés)
  • une connexion internet active. (téléchargement de l'API)
  • que la taille du document est au format A4 et que l'alignement vertical du texte de la rubrique est paramètres à 'Haut'.

et:

  1. à la place du nom de la fonte utilisée dans le modèle cible ("DEMO PRINT"), la rubrique "PARAMS::fonteChemin" attend le chemin système à celle-ci. 
  2. dans le modèle cible ("DEMO PRINT"), la fonte doit pour le moment être de type *.ttf (TrueTypeFont).
  3. Les rubriques "Style" et "Alignement" attendent des valeurs numériques (cf bulles d'aide).
  4. Pour les autres rubriques les valeurs doivent être exprimées en points. (Des nombres entiers)
  5. pour le confort, deux déclencheurs de script sont utilisés, un au niveau du modèle, l'autre au niveau de la rubrique…

Un petit mot à propos de la fonction "iText_getLineCount( text ; fieldBounds ; pathToTrueTypeFont ; fontSize ; fontStyle ; pAlignment ; pLeading ; pIndent )" … 

Pour obtenir le résultat escompté, le PDF est simulé en mémoire. On utilise donc le bas niveau de l'API, ce qui rend l'exécution furieusement rapide.
L'écriture n'est que simulée, on ne produit donc aucun document PDF.
L'utilisation d'un déclencheur de script FM "SurModificationObjet" ou éventuellement "SurFrappeClavierObjet" est donc permise.

Pour le moment, la méthode invoquée ne cible que la classe la plus simple; "ColumnText"…

 

GetLineCount.fmp12

 

PS: fonctionne de v.12 à v.17 et avec ScriptMaster 4.2.x à 5.x. Bien sûr on peut substituer les rubriques paramètres par des variables globales ou non.

GetLineCount.fmp12

GetLineCount.fmp12

GetLineCount.fmp12

GetLineCount.fmp12

GetLineCount.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Conditions auxquelles il faut maintenant ajouter "disposer d'une licence d'iText".

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

… merci pour le rappel ! 

Mais pour répondre à la problématique, on peut très bien le faire en utilisant l'API "OpenPDF" qui n'est rien d'autre que ……… "iText 4.0" ; qui elle n'est pas sujette à la licence AGPL 😉

il suffit de télécharger OpenPDF 1.0.5  , et dans le pas de script d'enregistrement de la fonction,  remplacer  la séquence d'import par :

import com.lowagie.text.Documentimport com.lowagie.text.Fontimport com.lowagie.text.Phraseimport com.lowagie.text.pdf.BaseFontimport com.lowagie.text.pdf.ColumnTextimport com.lowagie.text.pdf.PdfWriter

… et voilà…

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
20 minutes ago, fabriceN said:

Conditions auxquelles il faut maintenant ajouter "disposer d'une licence d'iText".

N'est-il pas toujours possible d'utiliser les anciennes version d'iText sous l'ancienne license ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

interesting. Je sais qu'il y a quelques années, j'ai eu des problèmes de compatibilité entre ScriptMaster et iTextPDF. Pas pour toutes les fonctions mais certains trucs ne passaient plus. Je ne me souviens plus du tout de quoi. (on avait dû mettre à jour iText avec la version payante)

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

… le type de PDF généré était certainement de type XFA ou faisait appel à des imports XML … non ? Allez, un petit effort de mémoire Sir @fabriceN 🙂

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

il y avait très probablement du formulaire dedans. Mais pour ce qui concerne la mémoire… je me suis arrêté à Fausto :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×