Программное извлечение слайдов в виде изображений из презентации PowerPoint (.PPT) - PullRequest
20 голосов
/ 28 сентября 2010

Учитывая презентацию PowerPoint в формате .ppt, как лучше всего программно и с использованием только программного обеспечения с открытым исходным кодом извлечь изображение (скажем, .jpg или .png) каждого слайда в презентации?

Приложение будет работать в среде сервера Linux, поэтому установка Microsoft Office или Keynote невозможна.

Функциональность, которую я хочу достичь программно, похожа на:

  • Функциональность экспорта Keynote (File > Export... > Pictures > JPEG)
  • Функция PowerPoint Сохранить как JPEG (Save As > Other Formats > JPEG)

Ответы [ 6 ]

22 голосов
/ 01 октября 2010

Вам, вероятно, стоит попробовать unoconv.Согласно справочной странице , «unoconv - это утилита командной строки, которая может конвертировать любой формат файла, который OpenOffice может импортировать, в любой формат файла, который OpenOffice способен экспортировать». *

Итак,чтобы преобразовать ppt в, скажем, png, вы делаете:

unoconv -f png some-slides.ppt

В случае неудачи вы можете попробовать JODConverter или PyODConverter из Art of Solving.Например, вы можете использовать JODConverter из командной строки:

java -jar lib/jodconverter-cli-2.2.0.jar document.ppt document.png
3 голосов
/ 28 сентября 2010

Учитывая ваше требование работать в Linux, возможно, проще всего автоматизировать OpenOffice.org.

Экспорт в формате HTML даст вам изображение JPEG или PNG с настраиваемым качеством для каждого слайда.

2 голосов
/ 01 октября 2010

Несколько лет назад я использовал Slide Splitter для Impress для той же самой потребности.Работал также со слайдами ppt и экспортировал в .jpeg.

1 голос
/ 26 июля 2014

Apache POI является библиотекой Java, но имеет утилиту командной строки для преобразования файлов PPTX в файлы PNG.

Чтобы запустить его, вызовите эту команду в корне двоичной папки загрузки библиотеки:

java -cp "poi-3.10-FINAL-20140208.jar;poi-ooxml-3.10-FINAL-20140208.jar;poi-ooxml-schemas-3.10-FINAL-20140208.jar;ooxml-lib\dom4j-1.6.1.jar;ooxml-lib\stax-api-1.0.1.jar;ooxml-lib\xmlbeans-2.3.0.jar;lib\commons-codec-1.5.jar;lib\commons-logging-1.1.jar;lib\log4j-1.2.13.jar" org.apache.poi.xslf.util.PPTX2PNG presentation.pptx

Это не на 100% идеально - я заметил, что ему не нравятся WordArt или изображения, которые были обрезаны из PowerPoint.

1 голос
/ 08 октября 2010

Если вы используете веб-API, я бы попробовал google docs API . Вы можете загрузить документ ppt и затем загрузить его обратно в любом из поддерживаемых форматов, включая pdf и png.

0 голосов
/ 04 октября 2010

Вы можете использовать PDFCreator (хотя и Wine )

...