31

I need to batch convert a set of .doc or .docx files to .pdf in terminal, not using a GUI.

It would be helpful if I could batch-process multiple files.

I would also like to maintain as much meta-data as possible.

Zanna
  • 72,312
Ringtail
  • 16,285

5 Answers5

42

lowriter can be used as a command line tool (lowriter is a part of 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

I do not have windows, so testdoc download from here

www.mltweb.com/prof/testdoc.doc

Panther
  • 104,528
9

I use unoconv, which converts all formats supported by LibreOffice.

6

I use the following script:

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

--headless will prevent Libreoffice from opening 100s of files and eventually crashing if you try this with directories containing a lot of .doc files

Bruni
  • 11,099
1

You can also open that folder where you have all the .doc or .docx files and right click.Then select open terminal here. then type lowriter --convert-to pdf *.doc

Matin
  • 545
0

In my opinion, the best way is with unoconv.

First install the package:

sudo apt install unoconv

and then convert to pdf using this command:

unoconv -f pdf XXYY.docx

(Replace XXYY.docx with the name of your file.)

Zanna
  • 72,312