Conversion de document avec LibreOffice

Il est souvent très utile de pouvoir convertir un document dans un autre format en vue de son traitement ou son export pour l'utilisateur final. OpenOffice (ou LibreOffice) est le roi en la matière : il peut lire et convertir plusieurs dizaines de formats de document.

OpenOffice, sous linux, peut être lancé en ligne de commande (headless) afin de convertir un document dans un autre format. Unoconv permet de lancer cette instance d'OpenOffice et de procéder à la conversion.

Voici un petit exemple pour convertir un document Word en document PDF :

./unoconv -vvv -d document -f pdf -o "fichier.doc" "fichier.pdf"

Dans certains traitements d'import, il peut être très avantageux de convertir un fichier XLS en fichier CSV. Dans ce cadre, les paramètres de filtre / conversion de colonne / séparateur devront être utilisés, par exempble :

./unoconv -d spreadsheet -f csv -e FilterOptions=59,34,0,0 --stdout -vvv "fichier.xls" > "fichier.csv"

Notez que LibreOffice convertira toujours, dans ce contexte, la première feuille du document. Pour convertir une autre feuille, il vous faudra simplement modifier le programme avec le patch lié à ce billet, et rajouter l'argument -S à la ligne de commande :

./unoconv -d spreadsheet -f csv -S 2 -e FilterOptions=59,34,0,0 --stdout -vvv "fichier.xls" > "feuille-2.csv"

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.