Tool zum Anzeigen von LibreOffice Writer-Dateien im Terminalfenster

18

Ich verwende einige Dokumentationsdateien im LibreOffice ( .odt) -Format. Normalerweise greife ich natürlich mit LibreOffice Writer darauf zu. Es gibt jedoch Situationen, in denen ich mich nur mit einem Textterminal mit der Site verbinden kann.

Ich frage mich, ob es ein Terminal-basiertes Tool gibt, das mir den Inhalt dieser Dateien in einem ungefähr korrekten Format anzeigt. (Die Dateien enthalten hauptsächlich einfachen Text, Listen mit Aufzählungszeichen und einige 1x1-Tabellen, sodass die Formatierung relativ einfach ist.)

PS Diese Frage ist nicht über Libreoffice selbst von der Kommandozeile starten (die anwered hier ).

rookie09
quelle
2
Mögliches Duplikat der Anzeige eines Dokuments über die Befehlszeile?
pLumo
3
Nicht in der ursprünglichen Antwort, aber Sie können odt2txt document.odt | lessdie Datei direkt anzeigen.
pLumo
@RoVo Das passt zu einer Antwort! Es wäre interessant, ob odt2txtein Job so gut funktioniert wie libreoffice --convert-to(was ich sehr gut erwarten würde, ohne es ausgiebig ausprobiert zu haben). Letzterer kann (soweit ich weiß) nicht auf stdout schreiben, so dass eine direkte Verrohrung leider nicht möglich ist. Vorsichtsmaßnahme: Wenn Sie nur schnell den Inhalt Ihres Dokuments anzeigen (oder durchsuchen!) Möchten und sich nicht allzu sehr für die Formatierung interessieren, odt2txt | …ist dies der richtige Weg. Andernfalls können Sie libreofficeIhr Dokument wie unten beschrieben konvertieren.
Dessert
2
Einfache Dokumente scheinen mit beiden Tools gut konvertiert zu werden. Leider werden Tabellen nicht in ASCII-Tabellen konvertiert ...
pLumo

Antworten:

21

Es gibt ein Tool namens , odt2txtdie umwandeln kann odtzu txt.

Im Vergleich zu libreoffice sehe ich zwei Vorteile:

  • Leichtgewicht, wenn Sie libreoffice nicht installiert haben (zB auf einem Server)
  • Es kann auf stdout gedruckt werden, um Dateien direkt anzuzeigen.

Installation:

sudo apt install odt2txt

Dann können Sie sich direkt Folgendes ansehen odt:

odt2txt document.odt | less
pLumo
quelle
Wenn Sie in eine Datei konvertieren möchten, leiten Sie die Ausgabe einfach mit um odt2txt document.odt > fileoder verwenden Sie die --output=fileOption.
Dessert
21

libreofficebietet eine --convert-toOption, mit der ein Dokument in zB Text oder HTML konvertiert werden kann:

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

  • konvertiere jeden .odtim aktuellen Verzeichnis nach .html:
    libreoffice --convert-to "html:XHTML Writer File:UTF8" *.odt

  • konvertiere jeden .odsim aktuellen Verzeichnis nach .csv:
    libreoffice --convert-to csv *.ods

Der Ausgang kann mit dem Pager oder Terminal - Browser von einer Vielzahl von Design geöffnet werden: less, mostoder w3mzur Liste nur drei.

Dessert
quelle
Nett! Können Sie damit die txt-Version direkt im Terminal anzeigen, anstatt in eine Datei zu schreiben?
Puck
Leider nicht, siehe meinen Kommentar oben .
Dessert
12

LibreOffice verfügt über eine --catOption, die in Version 5.1, jedoch nicht in Version 4.2 vorhanden ist. Ich weiß nicht genau, wann es eingeführt wurde.

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

Für mehr Informationen:

libreoffice --help
Jim K
quelle
Es ist eine Schande, dass diese nützliche Option weder in libreofficeder Manpage noch auf help.libreoffice.org/Common/… dokumentiert ist , sie jedoch zumindest libreoffice -hauflistet.
Dessert