Конвертировать PPT в PNG через Python - PullRequest
4 голосов
/ 14 марта 2010

Я хочу конвертировать PPT в png или другие форматы изображений, используя Python.

Этот вопрос был задан на SO, но, по сути, рекомендуется запускать OpenOffice на X-сервере без головы, что было абсолютной болью в последний раз, когда я его использовал. (Главным образом из-за трудных копий ошибок из-за сбоя OO.)

Есть ли другой способ (Надеюсь, использовать только утилиты Linux CLI и чистый Python над ними?)

1 Ответ

2 голосов
/ 15 марта 2010

Базовый рабочий процесс:

  • конвертируйте ваш ppt в pdf с помощью PDF-принтера из PowerPoint или встроенного конвертера PDF в OpenOffice

  • используйте ghostscript для преобразования pdf в png или другой формат изображения (что-то вроде gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r100 -sOutputFile=out.png in.pdf)

Вы можете использовать Python для написания этого сценария (и запуска OOo / MSPP с использованием Uno / COM) или любого другого сценария, который вы хотите.

Насколько я знаю, нет библиотеки Python, обрабатывающей PPT-файлы или конвертирующей PDF-файлы в PNG.

Что касается обработки сбоев в OOo, я бы ловил исключения и пытался перезапустить OOo при возникновении такого события (и, возможно, пропустить файл, добавив его в список подозрительных файлов, требующих ручной обработки).

Эта статья может показаться вам интересной http://www.linuxjournal.com/node/1007788, поскольку она предоставляет класс, который использует существующий экземпляр OOo для подключения или запускает его, если требуется, прозрачным способом. Он поставляется с примером преобразования xls -> csv (http://www.linuxjournal.com/content/convert-spreadsheets-csv-files-python-and-pyuno), которое можно использовать в качестве основы для преобразования, которое вы хотите выполнить.

...