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 :

tabulation pour fin de ligne dans un tableau pdf


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Points : 85
    Points
    85
    Par défaut tabulation pour fin de ligne dans un tableau pdf
    Bonjour à tous,
    je fais un tableau dans un PDF avec reportlab, et je souhaiterais qu'il y ait des tabulations en fin de cellule, pour pouvoir faire un copier-coller des valeurs dans un tableur sans avoir besoin de lui dire de mettre les espaces comme séparateur.

    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
    from reportlab.lib import colors
    from reportlab.lib.pagesizes import letter
    from reportlab.platypus import SimpleDocTemplate, Table, TableStyle
     
    doc = SimpleDocTemplate("simple_table.pdf", pagesize=letter)
    # container for the 'Flowable' objects
    elements = []
    #a=str("1\t")
    a=str("1 ")
    data= [[a,a,a,a,a],
            [a,a,a,a,a]]
     
    t=Table(data)
     
    elements.append(t)
     
    doc.build(elements)
    Apres quelques recherches je n'ai pas trouvées de solution, est-ce une histoire d'encodage ou autre. Je ne vois pas ce qui m'échappe.

    Merci

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Bonsoir,

    On peut jouer sur le paramètre spaceAfter de Table... À déterminer ce que la tabulation vaut en nombre de caractères d'espacement.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre régulier
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Points : 85
    Points
    85
    Par défaut
    Bonjour fred1599,

    je vais regarder cela de plus près, mais dans tes propos je sens déjà le souci, gérer le nombre d'espace... J'ai déjà un espace, je n'en veux pas plus, je veux une vraie tabulation, un "\t".

    Page 84 de la doc il y a :

    "The spaceBefore & spaceAfter arguments may be used to put extra space before or after the table

    when renedered in a platypus story."
    Très pratique cela dit en passant, mais c'est pour les espaces avant et après le tableau.

    pour info un a= '1a\n1' , donne bien un retour à la ligne dans la cellule mais un a = '1\t1' donne un 1(carre)1 et en copier coller "1I1".

    Il n'y a rien dans la doc sur \t ou tab, tabulation...

    Ouvert à toutes idées ^^.

  4. #4
    Membre régulier
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Points : 85
    Points
    85
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    a = Paragraph('''
     <para align=center>1&nbsp;1 1</para>''',
     styleSheet["BodyText"])
    #a="1<br/>1"
    data= [[a,a,a,a,a],
            [a,a,a,a,a]]
    les balises html passe içi mais le &nbsp; donne un espace...

  5. #5
    Membre régulier
    Homme Profil pro
    Curieux
    Inscrit en
    Avril 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2020
    Messages : 114
    Points : 85
    Points
    85
    Par défaut
    Je pense que le copier coller en mode importation de texte est la seul solution. Je crois qu'il n'y a pas de tabulation dans les pdf ...
    Qui peut confirmer ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Recherche du code de marque de fin de ligne dans un tableau Word
    Par DanielBretelles dans le forum VBA Word
    Réponses: 9
    Dernier message: 27/03/2016, 11h12
  2. [XL-2003] macro simple pour déplacer des lignes dans un tableau
    Par akka01 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/08/2010, 16h24
  3. Réponses: 2
    Dernier message: 17/09/2009, 10h02
  4. Réponses: 5
    Dernier message: 30/09/2008, 03h14
  5. Réponses: 1
    Dernier message: 28/03/2008, 21h37

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