I have a folder containing a bunch of ppts, each of which I'd like to convert to an individual pdf.
-
1I think you meant "a folder containing a bunch of ppts" not pdfs. – Marcel Stimberg Nov 03 '10 at 12:35
-
1Your question need better explanation. Are you trying to convert each ppt to a pdf, or all the ppts to a single pdf with different pages, or ...? – frabjous Nov 03 '10 at 18:06
4 Answers
You can also use the command line of libreoffice for your purpose. This example converts all ppt-files in the current directory to pdf's:
libreoffice --headless --invisible --convert-to pdf *.ppt
--headless
Starts in "headless mode", which allows using the application without a user interface.
This special mode can be used when the application is controlled by external clients via the API...
It implies --invisible and strictly ignores any GUI environment.
and
--invisible
Starts in invisible mode.
Neither the start-up logo nor the initial program window will be visible. LO can be controlled and documents and dialogs can be opened via the API.
When started with this parameter, it can only be quit using the taskmanager (Windows) or the kill command (UNIX based systems).
Get more information on command line options with:
man libreoffice
(Note: You have to close all running instances of LibreOffice before the command line works.)
-
2
-
11It's awesome that libreoffice has the
--convert-to
option, but it sucks that it doesn't say anywhere that you also have to pass--headless
and--invisible
for it to work. +1 for the answer. – scribu Jun 09 '12 at 00:01 -
7
--headless
implies--invisible
(at least on LO 3.4). Add-env:UserInstallation="file://$HOME/.libreoffice-alt"
to work even with GUI instances running (credit here). – Beni Cherniavsky-Paskin Dec 13 '12 at 20:04 -
-
If someone reading this and not using ubuntu, and libreoffice still asks you for X server, you might need libreoffice-headless package installed – YudhiWidyatama Oct 13 '16 at 02:09
-
Better to use this if you have libreoffice installed. no need to install anything extra. thanks a lot! – Saurabh Apr 21 '17 at 07:44
-
@Tapper the explanation of the arguments used in the command makes the answer more useful and clear. – alhelal Sep 06 '17 at 05:01
-
1@Melebius instead of "without a user interface" there is "without user a interface" in man page that made me confused. Is there any way to inform this to authority? – alhelal Sep 06 '17 at 06:35
-
1@BandaMuhammadAlHelal According to http://www.libreoffice.org/get-help/feedback/, you could create a bug report. – Melebius Sep 06 '17 at 06:43
-
3FWIW, on
MacOS
,libreoffice
binary is calledsoffice
and is located in/Applications/LibreOffice.app/Contents/MacOS
– ijoseph Sep 12 '17 at 18:41 -
-
-
I have tried this solution on my VPS server running Cent OS 7 but getting this error : Error: source file could not be loaded. but the same command is working great if I execute this for .doc file at the same location. any help / idea – rahim.nagori Jul 30 '20 at 10:29
-
I have executed this command 'yum install unoconv ' after this executed the same script and it worked like a charm. – rahim.nagori Jul 30 '20 at 10:39
-
This seems like a more stable solution as unoconv often does not work right out of the box, and you have to fiddle with config files. – Esben Eickhardt Jul 02 '21 at 08:56
-
worked on ubuntu 21.10; props to libreoffice for the command line tools. This was extremely helpful – Matt Jan 07 '22 at 23:51
You can use unoconv. It's available in the repositories, so you can just apt-get
it: unoconv (direct install link)
Note that the info in the web page is outdated. Use man or type unoconv -h
to get actual command line options. It works like this:
unoconv -f pdf presentation.odt
This command will create a presentation.pdf file.
I have only used it to batch convert ods to pdf and it works perfectly. I haven't tried it with presentations (but for a quick test now), but I expect that it will work nicely.
Note that it will not work on Lucid (10.04), because of a bug in the python-openoffice
biddings. If you need to use it on Lucid, you can add this ppa to your software sources to upgrade your Openoffice version.

- 48,105

- 35,153
-
1Your example uses the wrong command (
uniconv
instead ofunoconv
) – Marcel Stimberg Nov 03 '10 at 12:36 -
1That gives this error: Leaking python objects bridged to UNO for reason pyuno runtime is not initialized, (the pyuno.bootstrap needs to be called before using any uno classes) Segmentation fault – James Nov 04 '10 at 01:01
-
1@James: Yes, I checked it on 10.04 and it gives that error. A little googling shows that there is a bug in the Openoffice version shipped with Lucid. It works on Maverick (10.10) and Hardy (8.04), the versions that I use. – Javier Rivera Nov 04 '10 at 09:35
-
1For anyone wondering how to convert a folder containing any type of documents (.txt, .docx, .pptx and even .pdf etc) to PDFs :
unoconv -f pdf <input-folder-path>/* --output <output-folder-path>/*
– Rahul Bharadwaj Dec 10 '18 at 15:04 -
The easiest way to convert .ppt files to PDF is to install unoconv through the command line:
sudo apt-get install unoconv
Then open the terminal from the drive where the ppt files are available. Now type:
unoconv -f [format] pdf filename.ppt
That's all. Done.

- 117,780

- 191
-
Welcome to AskUbuntu, This is a Q&A site not a forum. Thank you sharing knowledge but no need to duplicate answers. The high voted answer already mentioned
unoconv
tool. – user.dz Jan 01 '17 at 09:41 -
There is an easy cheat.
Use unoconv
with midnight commander
to convert odt
to pdf
:
- launch
mc
- navigate where the
odt
files are - tag
odt
files usingCtrl-T
thenF2,@,
- paste in
unoconv -f pdf
It will spew a bunch of dire error messages, but it works!

- 5,941
- 7
- 36
- 58