如何从命令行将 ppt 转换为 pdf?

Jam*_*mes 71 command-line pdf conversion

我有一个文件夹,其中包含一堆 ppt,我想将每个 ppt 转换为单独的 pdf。

Tap*_*per 88

您也可以使用libreoffice命令行来满足您的需求。本示例将当前目录中的所有 ppt 文件转换为 pdf:

libreoffice --headless --invisible --convert-to pdf *.ppt  
Run Code Online (Sandbox Code Playgroud)

--headless
以“无头模式”启动,允许在没有用户界面的情况下使用应用程序。
当应用程序由外部客户端通过 API 控制时,可以使用这种特殊模式......
它意味着 --invisible 并严格忽略任何 GUI 环境。

--invisible
以隐形模式启动。
启动徽标和初始程序窗口都将不可见。可以通过 API 控制 LO,并且可以打开文档和对话框。
使用此参数启动时,只能使用任务管理器 (Windows) 或 kill 命令(基于 UNIX 的系统)退出。

获取有关命令行选项的更多信息:

man libreoffice
Run Code Online (Sandbox Code Playgroud)

(注意:在命令行工作之前,您必须关闭所有正在运行的 LibreOffice 实例。)

  • libreoffice 有 `--convert-to` 选项真是太棒了,但它没有说任何地方你还必须通过 `--headless` 和 `--invisible` 才能工作,这很糟糕。+1为答案。 (9认同)
  • `--headless` 意味着 `--invisible`(至少在 LO 3.4 上)。添加 `-env:UserInstallation="file://$HOME/.libreoffice-alt"` 以在运行 GUI 实例的情况下工作(信用 [此处](http://ask.libreoffice.org/en/question/1686/ how-to-not-connect-to-a-running-instance/?answer=1701#post-id-1701))。 (5认同)
  • 这解决了我的问题。 (2认同)
  • FWIW,在`MacOS` 上,`libreoffice` 二进制文件称为`soffice`,位于`/Applications/LibreOffice.app/Contents/MacOS` (2认同)

Jav*_*era 50

您可以使用unoconv。它在存储库中可用,因此您可以使用apt-get它:unoconv直接安装链接

请注意,网页中的信息已过时。使用 man 或 typeunoconv -h来获取实际的命令行选项。它是这样工作的:

unoconv -f pdf presentation.odt
Run Code Online (Sandbox Code Playgroud)

此命令将创建一个presentation.pdf 文件。

我只用它来批量将 ods 转换为 pdf,它运行得很好。我还没有在演示文稿中尝试过(但现在进行快速测试),但我希望它能很好地工作。

请注意,由于python-openoffice投标中的错误,它不适用于 Lucid (10.04) 。如果您需要在 Lucid 上使用它,您可以将此ppa添加到您的软件源中以升级您的 Openoffice 版本。