Convertisseur texte vers PNG

Résolu
BenjaminA2mains Messages postés 44 Statut Membre -  
BenjaminA2mains Messages postés 44 Statut Membre -

Bonjour,

J'ai un problème comme et pour toujours.

Je suis à la recherche d'un utilitaire / scripte opensource/gratuit qui pourrait convertir du texte vers une image au format PNG (fond transparent), et cela en masse.

Pour faire simple, j'ai 1000 fichiers texte et chaque fichier texte, je veux les convertir en PNG.

Par exemple :

 ――――――                            ――――                           ――――――

| texte 1,2,3,... |     ――――>   | Logiciel |     ――――>  | PNG 1,2,3,... |

 ――――――                            ――――                           ――――――

J'ai fait beaucoup de recherche et je ne trouve pas de solutions adaptées.

2 réponses

  1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     

    Bonjour,

    En Python on pourrait développer un script sur la base de :

    from PIL import ImageDraw
    from PIL import Image
    from PIL import ImageFont
    
    #Création de l'image.
    img = Image.new('RGB', (1000,100), (0,255,0))
    fontForImg = ImageFont.truetype("Roboto-Light.ttf", 25)
    draw = ImageDraw.Draw(img)
    texte = "Je veux créer une image à partir d'un texte"
    draw.text((10, 10),texte,(0,0,0),font=fontForImg)
    img.save("Out.png")

    qui donne

    On peut aussi utiliser le logiciel ImageMagick j'ai téléchargé une version windows portable, mais c'est d'abord un logiciel Linux, et avec le texte de ta question dans un fichier texte.txt, et la commande

    convert TEXT:texte.txt texte.png

    on obtient


    0
    1. BenjaminA2mains Messages postés 44 Statut Membre
       

      Merci,

      J'aime bien ce que tu me proposes :D
      Je vais me documenter sur PIL qui m'a l'air assez puissant.
      Je ne connais pas bien python, se sera pour moi une bonne occasion d'y regarder un peu de plus près

      0
      1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981 > BenjaminA2mains Messages postés 44 Statut Membre
         

        Disons que pour qui aime la technique cela peut être amusant. Après cela va surtout dépendre des textes que tu as. Car il va peut être falloir déterminer la taille de l'image à partir de la taille du texte, générer des retours à la ligne, récupérer une police ttf, ...

        La seconde solution, ou aussi celle de @fmq StatutContributeur, conviendra mieux à un utilisateur pas spécialement porté sur l'informatique

        0
    2. BenjaminA2mains Messages postés 44 Statut Membre
       

      Mais en fait, y a-t-il moyen de traité par lot avec python ?

      Parce qu'on est d'accord que la valeur texte est une chaîne de caractère, mais si je fais appel à une fonction dans "texte", est-ce que ça fonctionnera toujours ? (déso si je pose des questions idiotes, je ne suis pas à l'aise avec python)

      0
      1. jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention   9 981 > BenjaminA2mains Messages postés 44 Statut Membre
         

        une boucle for sur une liste de fichiers

        files = [file for file in glob.glob('E:\\Artistes\\**\\*.mp3',recursive=True)]
        print('Nombre de fichiers',len(files))
        for file in files:
           ...

        Python est à la fois un langage de programmation et un puissant langage de script

        0
      2. BenjaminA2mains Messages postés 44 Statut Membre > jee pee Messages postés 9444 Date d'inscription   Statut Modérateur Dernière intervention  
         

        Merci beaucoup

        Je ne savais pas que python était aussi étendu

        0
  2. fmq Messages postés 4899 Date d'inscription   Statut Contributeur Dernière intervention   721
     

    chalut

    sinon avec irfanview

    i_view32.exe text.txt /convert=text.png

    cia ciao


    0
    1. brucine Messages postés 24951 Date d'inscription   Statut Membre Dernière intervention   4 179
       

      Bonjour,

      Certes, mais cela ne répond pas à la question: il faudrait placer pour un traitement en lot la ligne de commande irfan view par exemple dans une boucle FOR d'un batch de sorte à ce que "text.txt" soit une variable qui prend successivement les différents noms des fichiers texte du ou des dossiers à traiter.

      0
      1. fmq Messages postés 4899 Date d'inscription   Statut Contributeur Dernière intervention   721 > brucine Messages postés 24951 Date d'inscription   Statut Membre Dernière intervention  
         

        chalut

        i_view32.exe *.txt /convert=*.png

        bon dim

        cia ciao

        0
    2. BenjaminA2mains Messages postés 44 Statut Membre
       

      Merci

      J'irai voir irfan si j'ai trop de mal avec python ;)

      0