Como converter em lote .doc ou .docx para .pdf


18

Preciso converter em lote um conjunto de arquivos .docou no terminal, sem usar uma GUI..docx.pdf

Seria útil se eu pudesse processar em lote vários arquivos.

Eu também gostaria de manter o máximo de metadados possível.



A melhor resposta é instalar outro aplicativo e usar uma "impressora pdf". O que está errado usando um método CLI ou vou perder os meta-dados
Ringtail

Eu não disse que havia algo errado com oowriter, gscan2pdf ou qualquer outro método da GUI. Eu estava procurando a CLI e pretendo incorporá-la ao .bashrc para que eu pudesse pdf ~/some_.docx, isso é tudo. Obrigado pela sugestão.
Ringtail

11
Veja também esta resposta .
Takkat 17/03/12

@ Takkat - Essa resposta coloca em zona duplicada para mim.
RobotHumans

Respostas:


28

O lowriter pode ser usado como uma ferramenta de linha de comando (o lowriter faz parte do LibreOffice)

lowriter --convert-to pdf *.doc
convert /home/bodhi/Documents/testdoc2.doc -> /home/bodhi/Documents/testdoc2.pdf using writer_pdf_Export
convert /home/bodhi/Documents/testdoc.doc -> /home/bodhi/Documents/testdoc.pdf using writer_pdf_Export

evince testdoc.pdf

Como não tenho janelas, faça o download do testdoc a partir daqui

www.mltweb.com/prof/testdoc.doc


libreofice gera erros usando este método, reclama de não encontrar /home/user/documents/test.docx blá
Ringtail

que comando você usou? Você tem um test.docx?
Pantera

11
Funciona perfeito para mim! Cuidado ao usar caracteres "espaço" na linha de comando ... Quando você chegar ao caractere de espaço simplesmente pressione "guia";)
Pitto

11
O lowriter não converte arquivos docx corretamente. Pelo menos nem sempre.
Cético Jule

11
Quando tentei o seu lowritercomando sugerido no Ubuntu 12.04, ele abriu uma janela inicial e congelou. Eu o matei com Cc e tentei novamente sem uma DISPLAYvariável. Desta vez, ele primeiro imprimiu um erro sobre a exibição ausente, mas converte o documento sem problemas. É um comportamento esperado, que o comando possa funcionar apenas sem uma DISPLAYvariável de ambiente?
kasperd

7

Eu uso unoconv, que converte todos os formatos suportados por LibreOffice.


11
Apenas para o registro: $ unoconv myfile.docx(cria myfile.pdf)
tokland

3

Eu uso o seguinte script:

for f in *.doc
do
lowriter --headless --convert-to pdf "$f"
done

--headless impedirá o Libreoffice de abrir 100s de arquivos e eventualmente travar se você tentar isso com diretórios que contêm muitos arquivos .doc


0

Na minha opinião, a melhor maneira é com unoconv.

Primeiro instale o pacote:

sudo apt install unoconv

e depois converta para pdf usando este comando:

unoconv -f pdf XXYY.docx

(Substitua XXYY.docxpelo nome do seu arquivo.)


Razões pelas quais você escolheria desconversar sobre outras opções?
gatorback 15/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.