Saltar al contenido

Apache POI o docx4j para tratar con documentos docx

No dejes de compartir nuestra web y códigos con otro, danos de tu ayuda para aumentar esta comunidad.

Solución:

Divulgación: dirijo el proyecto docx4j

Aunque docx4j también puede manejar pptx y xlsx, se usa principalmente para la manipulación de docx. A modo de ilustración, en el momento de escribir este artículo, hay casi 1000 temas en el foro docx4j. El foro pptx tiene solo el 10% del volumen.

Independientemente de lo que desee hacer con el documento docx, docx4j debería poder ayudarlo. Hay una descripción general de una sola página de un flujo de trabajo genérico.

Para muchos requisitos comunes, docx4j proporciona una API de nivel superior. Éstas incluyen:

  • Crear/abrir/guardar docx (por supuesto)

  • Generación de informes/documentos, usando una variedad de enfoques: (i) Sustitución de variables, (ii) Enlace de datos XML (particularmente fuerte) y (iii) Mailmerge

  • Exportar como HTML, XHTML

  • Exportar como PDF (con soporte de fuentes)

Para cualquier otra cosa, puede manipular la representación JAXB del docx al contenido de su corazón. JAXB es un estándar de la comunidad Java, incluido en Java 6, y con una sólida implementación alternativa en MOXy de EclipseLink. (POI usa XML Beans en lugar de JAXB)

Hay una aplicación web para ayudarlo a explorar un docx y generar código Java para crear los objetos Java correspondientes.

Por supuesto, si hay alguna tarea específica que tenga en mente, es posible que docx4j o POI tengan una fortaleza particular allí.

Tanto docx4j como POI tienen licencia ASL v2.

docx4j se mantiene activamente; su código fuente está en GitHub.

Además, el soporte comercial está disponible para docx4j si lo desea, al igual que varias extensiones comerciales, por ejemplo, MergeDocx.

docx4j se basa en POI como biblioteca para su implementación del formato de documento compuesto OLE 2, por lo que estamos agradecidos.

Creo que el enfoque principal de Apache POI es tratar con hojas de cálculo, aunque tiene funciones para leer documentos de Word y usa beans xml para hacerlo. Docx4j trata principalmente con documentos docx usando jaxb. Por lo general, jaxb permite la conversión de objetos xml a java, por lo que creo que docx4j sería preferible para su caso.

Probé Apache POI, pero el problema es cuando imprimo cualquier cosa desde un archivo docx (Ej: para imprimir todos los elementos “Título 1” de docx), se imprimen muchos datos incorrectos y espacios en blanco. Docx4j evitará estos malos datos, lo probé.

Nos puedes añadir valor a nuestro contenido informacional dando tu experiencia en los informes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *