2 pièce(s) jointe(s)
PRESSE-PAPIER : Copier/coller avec python - problème de texte décalé lors du collage
Bonjour à tous,
Le script suivant doit présenter des catégories d'articles sur une ligne et sur la ligne suivante, le nombre d'articles est affiché.
Les titres et les nombres correspondants sont bien centrés.
Le script place le texte présenté le presse-papier
L'utilisateur ouvre ensuite le traitement de texte LibreOffice et colle le contenu du presse-papier (Ctrl+V).
Alors que dans PowerShell l'exécution du script montre un texte parfaitement aligné,
le texte collé dans LibreOffice est décalé. Comment régler cela?8O
Merci par avance.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import pyperclip
#Saisie des données
nbreCrayons=int(input("Nombre de crayons : "))
nbreGommes=int(input("Nombre de gommes : "))
nbreCahiers=int(input("Nombre de cahiers : "))
#Formattage du texte
ligne1="{:.^20}".format("Nombre de crayons")+"{:.^20}".format("Nombre de gommes")+"{:.^20}".format("Nombre de cahiers")+"\n"
ligne2="{:.^20}".format(nbreCrayons)+"{:.^20}".format(nbreGommes)+"{:.^20}".format(nbreCahiers)
#Concaténation
texte=ligne1+ligne2
#Affichage du texte
print(texte)
#copie texte dans presse-papier
pyperclip.copy(texte)
dest = pyperclip.paste() |
Comment obtenir le résultat souhaiter sans avoir à modifier la police de texte
Bonjour et merci pour cette explication pertinente.
J'ai bien compris les notions de chasse fixe et de chasse variable.
Le choix d'une police d'écriture en chasse fixe permet effectivement de garder un texte centré.
Cependant trois inconvénients existent :
1-Cela implique que l'utilisateur est obligé d'utiliser une police de caractère (réduction de son choix)
2-Il est contraint d'effectuer une manipulation supplémentaire (sélection de la police à chasse fixe, ce qui est compliqué voir impossible à faire pour certains)
3-Le collage doit pouvoir s'effectuer dans des applications qui n'offrent pas la possibilité de changer de police
J'ai constaté qu'en créant des décalages depuis le script dans la chaîne de caractères on obtenait un résultat centré au collage.
Mais cette solution est chronophage et trop empirique. Si le texte contient trop de variables et de textes à centrer,
cette méthode devient irréalisable.
Il existe peut-être un moyen de forcer le choix d'une police à chasse variable depuis le script? Ou une méthode de conversion
de chasse fixe à chasse variable avant d'envoyer la chaîne au presse-papier.
En passant. Quand j'utilise "\n" il y a toujours un décalage du texte d'un caractère vers la droite dans la ligne d'après.
J'ai mis du ruban adhésif sur l'écran mais, rien à faire...:D