image - Extracción programática de diapositivas como imágenes de una presentación de PowerPoint(.PPT)
language-agnostic ms-office (6)
Dado su requerimiento de ejecutar en Linux, probablemente es más fácil automatizar OpenOffice.org.
Exportar como HTML le dará una imagen JPEG o PNG con una calidad configurable para cada diapositiva.
Dada una presentación de PowerPoint en formato .ppt
, ¿cuál es la mejor manera de programar y usar solo el software de código abierto para extraer una representación de imagen (en .jpg
o .png
) de cada diapositiva de la presentación?
La aplicación se ejecutará en un entorno de servidor Linux, por lo que la instalación de Microsoft Office o Keynote no es una opción.
La funcionalidad que quiero lograr programáticamente es similar a:
- Funcionalidad de exportación de Keynote (
File > Export... > Pictures > JPEG
) - La función Guardar como JPEG de PowerPoint (
Save As > Other Formats > JPEG
)
Hace años, usé Slide Splitter para Impress para esta misma necesidad. Trabajó también con diapositivas ppt y exportando a .jpeg.
Probablemente debería darle una oportunidad a unoconv
. Según la página del manual , "unoconv es una utilidad de línea de comandos que puede convertir cualquier formato de archivo que OpenOffice pueda importar, a cualquier formato de archivo que OpenOffice sea capaz de exportar".
Entonces, para convertir ppt a, digamos, png, haces:
unoconv -f png some-slides.ppt
Si eso falla, puedes probar JODConverter o PyODConverter de Art of Solving. Por ejemplo, puede usar JODConverter desde la línea de comando:
java -jar lib/jodconverter-cli-2.2.0.jar document.ppt document.png
Puedes usar PDFCreator (aunque en Wine )
Si utilizar una API web es una opción, probaría la API de Google docs . Puede cargar un documento ppt y luego descargarlo de nuevo en cualquiera de los formatos compatibles, incluidos pdf y png.
Apache POI es una biblioteca de Java, pero tiene una utilidad de línea de comandos para convertir archivos PPTX a archivos PNG.
Para ejecutarlo, invoque este comando dentro de la raíz de la carpeta de descarga binaria de la biblioteca:
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
No es 100% perfecto. Noté que no le gusta WordArt o las imágenes que se han recortado desde PowerPoint.