Come convertire in batch .doc o .docx in .pdf


18

Devo convertire in batch un set di .doco .docxfile .pdfnel terminale, non usando una GUI.

Sarebbe utile se potessi elaborare in batch più file.

Vorrei anche conservare il maggior numero possibile di metadati.



La migliore risposta è installare un'altra applicazione e utilizzare una "stampante pdf". Cosa c'è di sbagliato usando un metodo CLI o perderò i meta-dati
Ringtail

Non ho detto che ci fosse qualcosa di sbagliato in oowriter, gscan2pdf o qualsiasi altro metodo della GUI. Stavo cercando la CLI, quindi ho intenzione di incorporarlo nel .bashrc in modo che potessi pdf ~/some_.docx, tutto qui. Grazie per il suggerimento
Ringtail

1
Vedi anche questa risposta .
Takkat,

@Takkat - Quella risposta la mette in una zona duplicata per me.
RobotHumans,

Risposte:


28

lowriter può essere usato come strumento da riga di comando (lowriter fa parte di 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

Non ho Windows, quindi download testdoc da qui

www.mltweb.com/prof/testdoc.doc


libreofice genera errori usando questo metodo, si lamenta di non aver trovato /home/user/documents/test.docx blah
Ringtail

quale comando hai usato? Hai un test.docx?
Pantera

1
Funziona perfettamente per me! Fai attenzione a usare il carattere "spazio" dalla riga di comando ... Quando arrivi al personaggio spazio premi semplicemente "tab";)
Pitto

1
lowriter non converte correttamente i file docx. Almeno non sempre.
Scettico Jule il

1
Quando ho provato per la prima volta il tuo lowritercomando suggerito su Ubuntu 12.04, ha aperto una finestra iniziale e si è bloccato. L'ho ucciso con Cc e riprovato senza una DISPLAYvariabile. Questa volta ha stampato per la prima volta un errore sulla visualizzazione mancante, ma converte il documento senza problemi. È previsto comportamento che il comando può funzionare solo senza una DISPLAYvariabile di ambiente?
Kasperd,

7

Io uso unoconv, che converte tutti i formati supportati da LibreOffice.


1
Solo per la cronaca: $ unoconv myfile.docx(crea myfile.pdf)
tokland

3

Uso il seguente script:

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

--headless impedirà a Libreoffice di aprire centinaia di file e di arrestarsi in modo anomalo se provi questo con directory che contengono molti file .doc


0

Secondo me, il modo migliore è con unoconv.

Innanzitutto installa il pacchetto:

sudo apt install unoconv

e poi converti in pdf usando questo comando:

unoconv -f pdf XXYY.docx

(Sostituisci XXYY.docxcon il nome del tuo file.)


Perché scegliere unoconv rispetto ad altre opzioni?
gatorback
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.