如何在 Linux 上将 pptx 文件转换为 jpg 或 png(对于每张幻灯片)?

Posted

技术标签:

【中文标题】如何在 Linux 上将 pptx 文件转换为 jpg 或 png(对于每张幻灯片)?【英文标题】:How to convert pptx files to jpg or png (for each slide) on linux? 【发布时间】:2014-02-26 16:44:30 【问题描述】:

我想将一个 powerpoint 演示文稿转换为多个图像。我已经在我的服务器上安装了 LibreOffice,将 docx 转换为 pdf 没问题。 pptx 到 pdf 的转换不起作用。我使用了以下命令行:

libreoffice --headless --convert-to pdf filename.pptx

有没有办法立即将 pptx 转换为 pngs 或者我必须先将其转换为 pdf 然后使用 ghostscript 之类的?

那么质量设置呢?有没有办法选择生成图像的分辨率?

提前致谢!

编辑: 根据this link,我可以使用简单的命令行将 pdf 转换为图像:

convert <filename>.pdf <filename>.jpg 

(我猜你需要 LibreOffice 和 ImageMagick,但不确定 - 在我的服务器上工作)

但是 pptx 到 pdf 的转换仍然存在问题。

感谢谷歌搜索和 Sebastian Heyn 的帮助,我能够用这条线创建一些高质量的图像:

convert -density 400 my_filename.pdf -resize 2000x1500 my_filename%d.jpg

使用后请耐心等待 - 您仍然可以在 unix 控制台中输入一些东西,但它正在处理中。只需等待几分钟,就会创建 jpg 文件。

有关选项的更多信息,请查看link

P.S.:pptx 文件的纵横比似乎并不完全是 4:3,因为生成的图像大小为 1950x1500

【问题讨论】:

PPTX 文件的纵横比取决于 PPTX 文件本身。它几乎可以是任何东西。旧版本 PPT 的默认值始终是 10" x 7.5" 或 1.3333...,而不是您看到的 1.3 纵横比。不过,PPTX 可能设置为非标准尺寸。 啊,好吧,我期待的是 4:3,因为它看起来总是这样,而且大多数投影仪的分辨率只有 800x600 (4:3)。很高兴知道。谢谢! 【参考方案1】:

PPTX转PNG/JPG

此解决方案需要 LibreOffice (soffice) 和 Ghostscript (gs)

sudo apt install libreoffice ghostscript

然后两步:

    PPTX -> PDF
soffice --headless --convert-to pdf prezentacja.pptx
    PDF -> PNG/JPG
gs -sDEVICE=pngalpha -o slajd-%02d.png -r96 prezentacja.pdf
-o slajd-%02d.png - 输出到文件,%02d slajd 编号,两位数 -r96 - 分辨率: 96 -> 1280x720 144 -> 1920x1080

【讨论】:

【参考方案2】:

安装 unoconv 和 LibreOffice 后,您可以使用:

unoconv --export Quality=100 filename.pptx filename.pdf 

将您的演示文稿转换为 pdf。更多选项请查看here。

之后,您可以 - 如上所述 - 使用:

convert -density 400 my_filename.pdf -resize 2000x1500 my_filename%d.jpg 

接收图像。

【讨论】:

移动了更多选项的链接here。 unoconv 没有提供高质量的结果。【参考方案3】:

不确定 libreoffice,但 afaik 它是唯一处理 pptx 文件的程序。

我找到了这个http://ask.libreoffice.org/en/question/23851/converting-pptx-to-pdf-issue/

如果你有 pdf 文件,你可以使用 imagemagick 输出任何质量的图片

【讨论】:

谢谢!我想出了如何将pdf转换为jpg。现在我只需要了解如何将 pptx 转换为 pdf 以及如何更改质量设置。也许您的链接是 pptx 到 pdf 问题的答案:) convert 允许添加质量设置 convert -density 400 file.pdf -scale 2000x1000 hi-res%d.jpg 是的,谢谢,我已经在尝试了。但这很奇怪。一个可行的选项是调整 250% 的大小,但图像当然是模糊的。我尝试了密度,重新采样等,但控制台并没有真正对它做出反应。我仍然可以按回车,如果我按左箭头 ^[[D 出现。按 ctrl+c+enter 后,我终于可以再次使用命令了。但是没有创建jpg。真的很奇怪:(但是 convert -density 400 MP.pdf -scale 2000x1500 hi-res%d.jpg 应该是正确的语法... 好的,现在可以了。我只是太不耐烦了。通常在处理时你不能在 Unix 控制台中做任何事情。但是在转换命令行之后我可以 - 令人困惑但它有效:D

以上是关于如何在 Linux 上将 pptx 文件转换为 jpg 或 png(对于每张幻灯片)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在火花上将json字符串转换为数据帧

如何使用 Python 将 .pptx 转换为 .pdf

microsoft office 2007 PPTX文件导出为PDF文件后,PDF文件中图片质量下降,如何解决?

如何通过 COM 类将 PPTX 转换为 PDF?

Imagemagick将pptx转换为jpg在ghostscript调用中失败

在 pura java 中将 docx/pptx 转换为 MHTML