Créer un QR Code avec LibreOffice

Depuis la version 6.4 de LibreOffice, on peut générer un QR Code.

QR Code

Dans ce tutoriel au format PDF vous verrez comment créer un QR Code depuis LibreOffice Writer (le traitement de texte).

Créer un QR Code avec LibreOffice

Cela fonctionne également depuis Calc (le tableur), Impress (Les présentations) et Draw (Le dessin).

Les commandes Shell Linux depuis Python

J’utilise Debian 10 Buster et Python 3.7.3

Mon but ici est d’exécuter des commandes Shell Linux depuis un script Python et si nécessaire de récupérer le résultat d’une commande dans une variable.

Dans mon exemple de programme en Python, je récupère le PID d’un processus Linux (celui de LibreOffice) dans une variable, par la suite, j’utilise ce paramètre dans une commande Shell Linux kill pour tuer l’application.

Si vous avez des suggestions d’améliorations ou une autre façon de procéder, je suis à votre écoute, rien n’est figé dans le marbre.

Mon exemple :

#!/usr/bin/env python3.7
#-*- coding: utf-8 -*-
# Obtenir le pid de LibreOffice et arrêter l'application
import subprocess
import os
pid = os.popen("pidof soffice.bin").read() #Obtenir le pid de LibreOffice grâce à une commande du Shell Linux
if pid != '': #si le pid n'est pas vide
    print('Mon pid : ', pid) #Afficher le pid
    Commande = 'kill -9 '+ str(pid) #La commande du Shell Linux qui va pemettre d'arrêter l'application
    subprocess.Popen(['/bin/sh', '-c', Commande]) #on arrête l'application
else: #sinon - pas de pid
    print("Oops! Je n'ai pas trouvé LibreOffice")

C’est un exemple intéressant, mais en fait on peut arrêter une application sans disposer de son PID avec la commande pkill. Ce qui donne l’exemple qui suit :

#!/usr/bin/env python3.7
#-*- coding: utf-8 -*-
import subprocess
subprocess.Popen(['/bin/sh', '-c', "pkill office"]) #on arrête l'application LibreOffice

Ce que je trouve dommage, c’est que l’on ne teste pas au préalable si LibreOffice est effectivement lancé. Vous avez une idée pour améliorer cela ?

Installation de LibreOffice – api-ms-win-crt-runtime-l1-1-0.dll manquante

Version de LibreOffice 6.0.7

Suite à l’installation de LibreOffice sur des postes sous Windows 7 Pro (64 bits), j’ai eu un message m’indiquant que api-ms-win-crt-runtime-l1-1-0.dll était manquante.

Cette DLL, dans mon cas, correspondait à Microsoft Visual C++ 2015 Redistributable (x64)

Vous pouvez télécharger Microsoft Visual C++ 2015 Redistributable (x64) à partir de la page suivante :

https://www.microsoft.com/fr-FR/download/details.aspx?id=48145

Vous pouvez sélectionner vc_redist.x64.exe (64 bits)ou vc_redist.x86.exe (32 bits)

Dans mon cas j’ai installé la version 64 bits.

En cas de problèmes à l’installation, il est possible que vous soyez obligé de désinstaller au préalable une ancienne version de Microsoft Visual C++ 2015 Redistributable avant de poursuivre.

Il est conseillé de maintenir Windows à jour.