Como posso converter um documento do OpenOffice em PDF a partir da linha de comando do Linux?

4

Eu tenho alunos que, quando solicitados por PDF, às vezes me entregam um documento ou uma planilha do OpenOffice. file(1) pode identificar esses documentos, mas não consegui descobrir como convertê-los em PDF usando a linha de comando. (A página man do ooffice(1) lista uma opção para imprimir um documento, mas não para converter em PDF.) O Google é inútil, exceto por me dar a sensação desconfortável de que isso não pode ser feito sem um script bacana em uma linguagem que não conheço em uma API cuja documentação não consigo encontrar.

Alguém pode me ajudar a resolver o problema de converter um OpenDocument em PDF usando apenas a linha de comando do Unix?

    
por Norman Ramsey 05.01.2010 / 20:16

4 respostas

6

Acho que a maneira mais direta seria configurar uma impressora pdf em sua caixa e, em seguida, apenas:

ooffice -pt pdfprinter studentwhodoesntfollowdirectionswell.odt

Editar: Acabei de encontrar um post nos fóruns do Ubuntu com alguém que chegou à mesma solução que sugeri (com instruções úteis). imprimindo em pdf a partir da linha de comando [RESOLVIDO]

Editar 2: Acabei de encontrar unoconv que é um script python que usa as uniões UNO do OOo . Então, eu só queria atualizar essa resposta

    
por 05.01.2010 / 20:36
1

Eu faço isso usando cups-pdf . Você precisará ter o OpenOffice instalado e executar o ooffice no modo sem cabeça para que o aplicativo não inicie uma GUI.

a impressora PDF geralmente está nos repositórios, portanto, basta sudo apt-get install cups-pdf ou yum install cups-pdf .

Em seguida, você precisará instalar a impressora. Se desejar, você pode instalar uma impressora através da linha de comando .

Se você instalar uma impressora através da GUI, (no Ubuntu) é tão fácil quanto Sistema - > Administração - > Imprimindo . Clique na seta e selecione Nova impressora :

Váatéoassistenteeanoteonomedasuaimpressora,vocêprecisarádelanalinhadecomando.Comovocêpodever,useiocups-pdf:

Conclua o assistente e você estará pronto para converter. Abra um terminal e execute:

ooffice -headless -nologo -pt cups-pdf doc.odt

Em seu diretório pessoal, você terá uma pasta em PDF. Dentro dele estará o seu documento convertido.

    
por 05.01.2010 / 21:02
1

$ oowriter --convert-to pdf - nome invisível.odt

Isso é tudo. Se sua CLI é gráfica, você pode omitir a opção "- invisível". Testado no opensuse 12.3.

    
por 26.02.2014 / 19:45
1

Com o libreoffice que vem com o CentOS 7 (4.1.4):

soffice --headless --convert-to pdf  file.odt 
soffice --headless --convert-to doc  file.odt 
soffice --headless --convert-to html file.odt 

soffice e libreoffice é o mesmo binário que gostava um do outro. oowriter é um script que chama libreoffice --writer. Portanto, o acima deve funcionar para todos os derivados do StarOffice (libreoffice, openoffice).

Eu uso para converter centenas de documentos / dia, funciona bem.

    
por 14.05.2015 / 09:05