java - tema - plantillas para poster en power point
Generar archivo de PowerPoint 2007/2010 usando Java (4)
¿Alguien sabe de alguna API (comercial o de código abierto) que pueda generar / editar presentaciones de PowerPoint 2007/2010 a través de Java? Tengo una plantilla en el formato de PowerPoint 2007/2010 que necesito para editar / actualizar. Hasta ahora he estado convirtiendo el archivo .pptx a xml y luego lo estoy editando y almacenando como .pptx. Pero el archivo se corrompe al abrir.
¿Alguien conoce algún otro método o API que haga esto en Java?
Lo hemos hecho de manera programática (código cerrado en este momento, lo siento), por lo que podríamos ayudar, pero ten cuidado con algunos errores.
Una es que el proyecto POI (al menos cuando lo vimos el año pasado), estaba bastante incompleto. No hizo gráficos PPTX, que es la única característica que queríamos. Infact el sitio de PDI puede no estar actualizado, pero parece que no son compatibles con el formato de PowerPoint 20087 ( http://poi.apache.org/slideshow/index.html ). Todo el mundo recomienda este proyecto, pero nuestra evaluación fue que fue bastante inútil para generar archivos de PowerPoint 2007 a través de Java. Su kilometraje puede variar.
Apose también tenía algunas limitaciones significativas cuando lo miramos; No hacer gráficos en PowerPoint 2007 es el problema de bloqueo para nosotros.
Otro problema es que PowerPoint 2007 puede ser bastante buggy. Hemos tenido una cantidad de archivos PPT producidos de manera programática que causaron bloqueos, pero al realizar pruebas, encontramos que podemos reprochar y bloquear con documentos PPTX simples creados en PowerPoint 2007, es decir, no con nuestro código.
Al final, hicimos lo siguiente: Desempaquetamos un archivo de PowerPoint de ''plantilla'' en una carpeta, luego a pedido, llenamos la plantilla XML con nuevos valores, la comprimimos, cambiamos el nombre de varios elementos y la entregamos al usuario como un PPTX válido. Funciona bien, aparte de la extraña falla de PowerPoint cuando la gente edita el archivo. Si hubiera un mercado para eso, supongo que podríamos empaquetar el código como un servicio web (es decir, xml / csv -> PPTX) o armar un paquete comercial, pero no lo haríamos de forma gratuita.
Para generar una presentación de PowerPoint a partir de un archivo de plantilla, puede utilizar Plantillas PPT .
Esta biblioteca proporciona una API fluida para reemplazar variables dentro de la plantilla PPT:
try(FileOutputStream out = new FileOutputStream("generated.pptx")) {
new PptMapper()
.text("variable", "Hello")
.text("other_variable", "World!")
.processTemplate(PptTemplateDemo.class.getResourceAsStream("/title.pptx"))
.write(out);
}
Con esta biblioteca, puede procesar texto e imágenes en la plantilla.
Sí. Vea esto en http://poi.apache.org/ , que acaba de lanzar la versión 3.6 que ahora admite documentos en formato Office 2007. La mejor parte es que es gratis!
docx4j (licencia de apache) ahora incluye un componente pptx4j, que puede abrir / editar / guardar documentos pptx.