Partage
  • Partager sur Facebook
  • Partager sur Twitter

Calculer la taille d'un texte avec python

    28 mars 2024 à 8:39:09

    Bonjour,
    Je suis à la recherche de moyens pour concevoir une interface me permettant d'éditer du texte et de calculer sa taille de façon précise en utilisant Python. L'objectif final est de pouvoir générer des fichiers PDF destinés à être utilisés sur une machine de découpe numérique. 
    Je souhaite intégrer des fonctionnalités avancées pour le traitement du texte et la mise en page, ainsi que des options pour ajuster précisément les dimensions et les paramètres de découpe dans le fichier PDF final. 
    Auriez-vous des suggestions ou des ressources pour m'aider à réaliser un projet de cette envergure? Merci d'avance pour votre aide.
    • Partager sur Facebook
    • Partager sur Twitter
      28 mars 2024 à 9:48:20

      Bonjour,

      Pourquoi recréer un éditeur de texte avec toutes ses fonctionnalités en Python, alors qu'il en existe déjà de base sur un PC ?

      Après, il existe des bibliothèques Python pour générer un PDF à partir d'un fichier texte  ...

      (Voir sur le Net)

      • Partager sur Facebook
      • Partager sur Twitter
        28 mars 2024 à 13:36:39

        Bien sûr, je pourrais utiliser Illustrator pour le faire.

        Mon objectif est de concevoir une interface pour permettre le découpage d'adhésif vinyle en ligne sans avoir besoin de passer par un graphiste. Cependant, je galère pour retrouver la taille exacte de mon texte

        • Partager sur Facebook
        • Partager sur Twitter
          29 mars 2024 à 9:29:17

          Malheureusement, je ne peux pas calculer la taille d'un texte en pixels car les pixels dépendent de la résolution de l'écran, ce qui entraînerait des résultats différents sur différents écrans.
          De plus, le principal problème auquel je suis confronté est le calcul de la hauteur du texte. Je n'arrive pas à obtenir la hauteur réelle d'un texte car il y a toujours une petite marge en dessous et au-dessus d'une ligne de texte.
          Pour un texte avec une taille de police de 12 pixels, c'est la boîte qui englobe le texte qui est égale à 12 pixels et non le texte lui-même.
          La solution pourrait être d'utiliser un texte vectorisé. Je n'ai pas encore exploré cette possibilité.
          • Partager sur Facebook
          • Partager sur Twitter
            29 mars 2024 à 10:40:13

            LouisCompere a écrit:

            Malheureusement, je ne peux pas calculer la taille d'un texte en pixels car les pixels dépendent de la résolution de l'écran, ce qui entraînerait des résultats différents sur différents écrans.

            En multipliant le nombre de pixels par le DPI (dot per inch) donné par la résolution de l'écran, on obtient une longueur "inch".

            LouisCompere a écrit:

            Je n'arrive pas à obtenir la hauteur réelle d'un texte car il y a toujours une petite marge en dessous et au-dessus d'une ligne de texte.

            Ces hauteurs s'appellent hampe et jambage. Elles sont calculables à partir de la hauteur moyenne de la police (et pour chaque police).

            Ce que  vous cherchez à faire est compliqué et demande (entre autre) la maîtrise de notions de typographie.

            • Partager sur Facebook
            • Partager sur Twitter
              1 avril 2024 à 10:58:17

              J'ai finalement choisi la solution suivante : utiliser OpenCV et Pytesseract pour détecter le texte afin d'obtenir sa taille totale. J'utilise également Pillow pour créer mon texte qui ressort sous forme d'image, ce qui permet à Pytesseract de l'analyser.

              Pour le moment, les résultats obtenus sont corrects ; lorsque je reproduis le même texte sur Illustrator, le résultat est le même. Cependant, je trouve cette option un peu instable, mais tant que ça fonctionne...

              Je suis preneur si quelqu'un a une approche différente.

              • Partager sur Facebook
              • Partager sur Twitter

              Calculer la taille d'un texte avec python

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown