Ferramenta para visualizar arquivos do LibreOffice Writer na janela do terminal

18

Estou usando alguns arquivos de documentação no .odtformato LibreOffice ( ). Normalmente, eu os acesso ao LibreOffice Writer, é claro. Mas há momentos em que só consigo conectar-me ao site com um terminal de texto.

Gostaria de saber se existe uma ferramenta baseada em terminal que possa me mostrar o conteúdo desses arquivos no formato correto aproximado? (Os arquivos contêm principalmente texto simples, listas de marcadores e algumas tabelas 1x1, portanto, são coisas relativamente simples em termos de formatação.)

PS Esta questão não é sobre iniciar o LibreOffice a partir da linha de comando (que é respondida aqui ).

rookie09
fonte
3
Não está na resposta original, mas você pode usá-lo odt2txt document.odt | lesspara visualizar diretamente o arquivo.
PLumo
@RoVo Isso serve para uma resposta! Seria interessante odt2txtfazer um trabalho tão bom quanto libreoffice --convert-to(que eu esperaria que funcionasse muito bem sem ter tentado extensivamente). O último (até onde eu descobri) não é capaz de gravar no stdout, de modo que a tubulação diretamente infelizmente não está disponível para ele. Advertência: Se você deseja visualizar rapidamente (ou pesquisar!) O conteúdo do seu documento e talvez não se importe muito com a formatação, odt2txt | …é o caminho a seguir. Caso contrário, vamos libreofficeconverter seu documento, conforme explicado abaixo.
sobremesa
2
Documentos simples parecem ser bem convertidos com as duas ferramentas. Infelizmente tabelas não são convertidas em tabelas ASCII ...
pLumo

Respostas:

21

Existe uma ferramenta chamada odt2txtque pode ser convertida odtem txt.

Comparado ao libreoffice, vejo dois benefícios:

  • Leve se você não tiver o libreoffice instalado (por exemplo, em um servidor)
  • Pode imprimir em stdout para visualização direta de arquivos.

Instalação:

sudo apt install odt2txt

Então você pode visualizar diretamente um odt:

odt2txt document.odt | less
pLumo
fonte
Se você deseja converter para um arquivo, redirecione a saída com odt2txt document.odt > fileou use a --output=fileopção
sobremesa
21

libreofficefornece uma --convert-toopção que pode ser usada para converter um documento em, por exemplo, texto ou html:

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

  • converta todos os .odtno diretório atual para .html:
    libreoffice --convert-to "html:XHTML Writer File:UTF8" *.odt

  • converta todos os .odsno diretório atual para .csv:
    libreoffice --convert-to csv *.ods

A saída pode ser aberto com o pager ou o navegador do terminal do seu agrado: less, mostou w3mpara listar apenas três.

sobremesa
fonte
Agradável! Você pode usar isso para exibir a versão txt diretamente no terminal, em vez de gravar em um arquivo?
Puck
Infelizmente não, veja meu comentário acima .
sobremesa
12

O LibreOffice possui uma --catopção que existe na versão 5.1, mas não na 4.2. Não tenho certeza exatamente quando foi introduzido.

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

Para maiores informações:

libreoffice --help
Jim K
fonte
É uma pena que esta opção útil não esteja documentada na página libreofficede manual nem em help.libreoffice.org/Common/… , mas pelo menos a libreoffice -hlista.
dessert