IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Placer du texte dans un pdf (reportlab)


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut Placer du texte dans un pdf (reportlab)
    Bonjour à tous,

    Apprenant à utiliser cette superbe librairie reportlab, je trouve le placement de textes longs pas très optimisé. Du moins, avec mes recherches, j'ai trouvé qu'on est obligé de placer nous-même les sauts de lignes pour que le texte reste sur la feuille.

    Ainsi, si je rentre ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    from reportlab.pdfgen import canvas
     
    #------INITIALISATION DES VARIABLES-----
    textLines = ['Je suis une phrase très très longue, et jespère que je vais être bien affichée. Car je suis vraiment très très long']
     
    pdf = canvas.Canvas('PDF.pdf')
     
    #----------INITIALISATION DU TEXTE----------------
    text = pdf.beginText(40, 680)
    text.setFont('Courier', 18)
    for line in textLines:
    	text.textLine(line)
     
    pdf.drawText(text)
     
    #----------FIN-------------
    pdf.save()
    Le pdf crée ressemble à ceci https://zupimages.net/viewer.php?id=20/10/bz2l.png
    Evidemment, le texte dépasse largement la page.

    Je me demandais s'il était possible, avec une fonction, de revenir automatiquement à la ligne à partir d'un certains nombre de caractères ?

    Merci.

  2. #2
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2020
    Messages : 1
    Par défaut
    Coucou,
    je suis en ce moment même dans la même galère que toi, mais comment fais tu pour placer les sauts de lignes manuellement? "\n" ne fonctionne pas avec cette librairie

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut
    Pour revenir à la ligne manuellement, il faut au préalable créer une variable qui contient ton texte.

    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    texlines = ['Je suis une phrase vraiment', 'très très longue et', 'je reviens à la ligne manuellement']
    J'ai trouvé un tuto très interessant, voilà le lien

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Salut,

    Citation Envoyé par preliator Voir le message
    Je me demandais s'il était possible, avec une fonction, de revenir automatiquement à la ligne à partir d'un certains nombre de caractères ?
    Une ligne de longueur arbitraire qui sera découpée en fonction de dimensions à occuper s'appelle un "paragraphe".
    Avec du texte, ou une suite de lignes, c'est vous qui devez découper vos lignes "à la main" ou avec textwrap.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Placer du texte dans le Buffer (copier)
    Par Zorgloub dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/02/2008, 15h56
  2. Inserer du texte dans un pdf
    Par RaimS dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 09/06/2006, 15h58
  3. placer un texte dans une textarea en cliquant sur un bouton
    Par BernardT dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/11/2005, 17h17
  4. Réponses: 4
    Dernier message: 14/11/2005, 15h58
  5. Placer du texte dans le presse papier avec DOM
    Par Desraux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 19/01/2005, 13h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo