Outil de visualisation des fichiers LibreOffice Writer dans la fenêtre du terminal

18

J'utilise quelques fichiers de documentation au .odtformat LibreOffice ( ). Normalement, j'y accède avec LibreOffice Writer bien sûr. Mais il y a des moments où je ne peux me connecter au site qu'avec un terminal texte.

Je me demande s'il existe un outil basé sur un terminal qui peut me montrer le contenu de ces fichiers dans un format approximatif correct? (Les fichiers contiennent principalement du texte simple, des listes à puces et quelques tableaux 1x1, il s'agit donc de choses relativement simples en termes de formatage.)

PS Cette question ne concerne pas le démarrage de LibreOffice lui-même à partir de la ligne de commande (qui est répondu ici ).

rookie09
la source
3
Pas dans la réponse d'origine, mais vous pouvez utiliser odt2txt document.odt | lesspour afficher directement le fichier.
pLumo
@RoVo Cela convient pour une réponse! Il serait intéressant de savoir si odt2txtfait un travail aussi bon que libreoffice --convert-to(ce à quoi je m'attendrais à très bien fonctionner sans l'avoir longuement essayé). Ce dernier (pour autant que je le sache) n'est pas en mesure d'écrire sur stdout, de sorte que la tuyauterie directement n'est malheureusement pas disponible pour cela. Mise en garde: Si vous voulez simplement voir (ou rechercher!) Le contenu de votre document et que vous ne vous souciez pas trop de la mise en forme, odt2txt | …c'est la voie à suivre. Sinon, libreofficeconvertissez votre document comme expliqué ci-dessous.
dessert
2
Les documents simples semblent bien être convertis avec les deux outils. Malheureusement, les tables ne sont pas converties en tables ascii ...
pLumo

Réponses:

21

Il existe un outil appelé odt2txtqui peut se convertir odten txt.

Comparé à libreoffice, je peux voir deux avantages:

  • Léger si vous n'avez pas installé libreoffice (par exemple sur un serveur)
  • Il peut imprimer sur stdout pour une visualisation directe des fichiers.

Installation:

sudo apt install odt2txt

Ensuite, vous pouvez visualiser directement un odt:

odt2txt document.odt | less
pLumo
la source
Si vous souhaitez convertir en fichier, redirigez simplement la sortie avec odt2txt document.odt > fileou utilisez l' --output=fileoption.
dessert
21

libreofficefournit une --convert-tooption qui peut être utilisée pour convertir un document par exemple en texte ou en html:

  • convertir input.odten input.txt:
    libreoffice --convert-to "txt:Text (encoded):UTF8" input.odt

  • convertir chaque .odtdans le répertoire courant en .html:
    libreoffice --convert-to "html:XHTML Writer File:UTF8" *.odt

  • convertir chaque .odsdans le répertoire courant en .csv:
    libreoffice --convert-to csv *.ods

La sortie peut être ouvert avec le pager ou navigateur de terminal de votre goût: less, mostou w3mà la liste trois.

dessert
la source
Agréable! Pouvez-vous l'utiliser pour afficher la version txt directement dans le terminal au lieu d'écrire dans un fichier?
Puck
Malheureusement non, voir mon commentaire ci-dessus .
dessert
12

LibreOffice a une --catoption qui existe dans la version 5.1 mais pas 4.2. Je ne sais pas exactement quand il a été introduit.

libreoffice --cat "Untitled 1.odt" --headless | less

Pour plus d'informations:

libreoffice --help
Jim K
la source
Il est dommage que cette option utile ne soit ni documentée dans libreofficela page de manuel de ni sur help.libreoffice.org/Common/… , mais au moins la libreoffice -hrépertorie.
dessert