plantillas modificar guardar documentos desde crear como archivo java ms-office pdf-generation openoffice.org

modificar - Una buena forma de crear PDF desde documentos de Office en Java



modificar word desde java (7)

Esta pregunta es un duplicado exacto de:

Estoy buscando una buena manera de convertir documentos de Office (principalmente Microsoft) a PDF en Java. He estado viendo el uso del SDK de OpenOffice, pero a partir de las muestras que he visto parece que esto requiere que OpenOffice se ejecute en modo servidor para hacer el trabajo.

¿Alguien sabe de una buena manera de hacer esto? Buen significado cuanto menos requisitos externos, mejor. Una API 100% Java sería lo mejor, pero no creo que realmente exista.


  • Para acceder a los documentos de Office, existe un PDI
  • Para crear documentos PDF existe iText

Ambos son gratis.



Podría intentar usar Cute PDF writer, que es básicamente un controlador de impresora PDF gratuito, y funcionará con cualquier API de impresión.


El problema con Jodconvertor es que el proyecto terminó en septiembre de 2006. Así que ni siquiera estoy seguro de que funcione y se ejecute en OpenOffice 3.x. Si alguien puede confirmar esto, sería genial.


Una alternativa al POI es Scriptom, que se basa en Groovy y la Biblioteca Jacob. Con él, puede acceder a los componentes de ActiveX o COM de Windows. Lo uso cada vez que tengo que tratar con archivos de Excel.

Si no te gusta Groovy, puedes construir una capa muy delgada alrededor de la API de Scriptom y usarla desde Java.


Eche un vistazo a los servicios web Muhimbi PDF Converter . Se ejecuta en Windows como un servicio, pero se puede acceder desde cualquier entorno que no sea compatible con servicios web de Windows, incluidos Java y .NET

Descargo de responsabilidad, trabajé en este producto. Habiendo dicho eso, funciona genial.


Docmosis utiliza OpenOffice bajo el capó para ayudar en la producción de documentos como JOD Reports y JODConverter. Docmosis le permite poblar y manipular el documento a través de la API de Java. También proporciona escalabilidad, redundancia y balanceo de carga integrados y tiene una sobrecarga de tiempo de ejecución muy baja.