Narzędzie do przeglądania plików LibreOffice Writer w oknie terminala

18

Korzystam z kilku plików dokumentacji w formacie LibreOffice ( .odt). Zwykle uzyskuję do nich dostęp za pomocą LibreOffice Writer. Ale są chwile, kiedy mogę połączyć się z witryną tylko za pomocą terminala tekstowego.

Zastanawiam się, czy istnieje narzędzie terminalowe, które może mi pokazać zawartość tych plików w przybliżeniu poprawnym formacie? (Pliki zawierają głównie prosty tekst, listy wypunktowane i kilka tabel 1x1, więc jest to względnie proste pod względem formatowania).

PS To nie jest pytanie o rozpoczęciu samego LibreOffice z linii poleceń (co jest anwered tutaj ).

rookie09
źródło
3
Nie w oryginalnej odpowiedzi, ale możesz użyć, odt2txt document.odt | lessaby bezpośrednio wyświetlić plik.
pLumo,
@RoVo To odpowiada na odpowiedź! Byłoby interesujące, czy odt2txtwykonuje pracę tak dobrą, jak libreoffice --convert-to(której spodziewałbym się, że będzie działał bardzo dobrze, nie próbując go jednak intensywnie). Ten ostatni (o ile się dowiedziałem) nie jest w stanie pisać na standardowe wyjście, więc bezpośrednie przesyłanie niestety nie jest dostępne. Zastrzeżenie: jeśli chcesz szybko wyświetlić (lub wyszukać!) Zawartość dokumentu i być może nie przejmujesz się zbytnio formatowaniem, odt2txt | …jest to dobra droga. W przeciwnym razie pozwól libreofficekonwertować dokument, jak wyjaśniono poniżej.
deser
2
Proste dokumenty wydają się być dobrze przekonwertowane za pomocą obu narzędzi. Niestety tabele nie są konwertowane na tabele ascii ...
pLumo,

Odpowiedzi:

21

Jest to narzędzie o nazwie odt2txt, które mogą przekształcić odtsię txt.

W porównaniu do libreoffice widzę dwie zalety:

  • Lekki, jeśli nie masz zainstalowanego libreoffice (np. Na serwerze)
  • Może drukować na standardowe wyjście w celu bezpośredniego przeglądania plików.

Instalacja:

sudo apt install odt2txt

Następnie możesz bezpośrednio wyświetlić odt:

odt2txt document.odt | less
pLumo
źródło
Jeśli chcesz przekonwertować na plik, po prostu przekieruj dane wyjściowe za pomocą odt2txt document.odt > filelub użyj --output=fileopcji.
deser
21

libreofficezapewnia --convert-toopcję, za pomocą której można przekonwertować dokument na np. tekst lub HTML:

  • przekonwertować input.odtna input.txt:
    libreoffice --convert-to "txt:Text (encoded):UTF8" input.odt

  • przekonwertuj każdy .odtw bieżącym katalogu na .html:
    libreoffice --convert-to "html:XHTML Writer File:UTF8" *.odt

  • przekonwertuj każdy .odsw bieżącym katalogu na .csv:
    libreoffice --convert-to csv *.ods

Wyjście może być otwierane z pagera lub terminala przeglądarce swojego gustu: less, mostlub w3mdo listy tylko trzy.

deser
źródło
Ładny! Czy możesz użyć tego do wyświetlenia wersji txt bezpośrednio w terminalu zamiast zapisywania do pliku?
Puck
Niestety nie, patrz mój komentarz powyżej .
deser
12

LibreOffice ma --catopcję, która istnieje w wersji 5.1, ale nie 4.2. Nie jestem pewien, kiedy dokładnie został wprowadzony.

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

Po więcej informacji:

libreoffice --help
Jim K.
źródło
Szkoda, że ​​ta przydatna opcja nie jest udokumentowana libreofficeani na stronie podręcznika, ani na help.libreoffice.org/Common/… , jednak przynajmniej libreoffice -hją wymienia.
deser