API de Java de código abierto para documentos DOCX de Word
Cree, lea, edite y convierta archivos DOCX de Microsoft Word, agregue texto y tablas a través de la biblioteca de Java.
DOCX4J es una biblioteca de código abierto (Apache v2) basada en JAXB para manipular formatos de archivo de Microsoft Office. Proporciona la funcionalidad para leer, escribir, editar y guardar el formato de archivo DOCX de Microsoft Word 2007.
DOCX4J es similar al SDK OpenXML de Microsoft, pero para Java. Utiliza JAXB para crear la representación de objetos en memoria. Con la API, puede generar documentos de Mircosoft Office, editarlos, formatear el texto y los párrafos, insertar tablas e imágenes y administrar otros elementos de formulario, y mucho más. Básicamente, su énfasis está en el poder, si el formato lo admite, puede hacerlo usando la API.
Primeros pasos con DOCX4J
En primer lugar, debe tener instalado el kit de desarrollo de Java (JDK) en su sistema. Hacer referencia a DOCX4J en su proyecto Java basado en Maven es aún más simple. Todo lo que necesita es agregar la siguiente dependencia en su pom.xml y dejar que su IDE obtenga y haga referencia a los archivos DOCX4J Jar.
DOCX4J Dependencia Maven
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-Internal</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-MOXy</artifactId>
<version>8.0.0</version>
</dependency>
Agregar párrafo, imagen y tabla a documentos de Word
DOCX4J permite a los desarrolladores agregar párrafos e imágenes a los documentos de Word. La API también proporciona la función para agregar tablas a documentos DOCX al tiempo que permite crear tablas simples y anidadas con datos definidos por el usuario.
Cree DOCX Gratis usando DOCX4J - Java
// Create word package
WordprocessingMLPackage wordPackage = WordprocessingMLPackage.createPackage();
// Create main document part
MainDocumentPart mainDocumentPart = wordPackage.getMainDocumentPart();
// Add Paragraph
mainDocumentPart.addParagraphOfText("Open Source Java API for Word DOCX Documents");
// Save file
wordPackage.save(new File("FileFormat.docx"));
Extraer texto de DOCX
DOCX4J proporciona la clase especializada para extraer datos de documentos DOCX de Microsoft Word con solo unas pocas líneas de código. De la misma manera, también puede extraer encabezados, notas al pie, datos de tablas, etc. de un archivo de Word.
Extraer Texto de DOCX Gratis - Java
// Load document
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("FileFormat.docx"));
// Load main document part
MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
// Extract nodes
String textNodesXPath = "//w:t";
List<Object> textNodes= mainDocumentPart.getJAXBNodesViaXPath(textNodesXPath, true);
// Print text
for (Object obj : textNodes) {
Text text = (Text) ((JAXBElement) obj).getValue();
String textValue = text.getValue();
System.out.println(textValue);
}
Genere y edite documentos de Word usando la API de Java
DOCX4J permite a los programadores de software crear nuevos documentos de Word en formato de archivo DOCX. Los desarrolladores también pueden cargar un archivo DOCX de Microsoft Word existente para editarlo según las necesidades de su aplicación. Le permite agregar nuevos párrafos, insertar texto, aplicar alineación y bordes de texto, cambiar el estilo del texto y más.
Convierta documentos de Microsoft Word Docx a PDF
La biblioteca Java de código abierto docx4j brinda soporte completo para la generación y conversión de documentos docx de Microsoft Word a varios formatos populares. Allí, docx4j proporciona 3 formas diferentes de convertir documentos docx de Microsoft Word a PDF. El siguiente ejemplo usa documents4j (ejecutándose de forma remota) para convertir un archivo docx a PDF.
Conversión de documentos EWord Docx a PDF a través de Java
public class DocxFileToPDF {
public static void main(String[] args) throws IOException, Docx4JException {
File output = new File(System.getProperty("user.dir")+"/result.pdf");
FileOutputStream fos = new FileOutputStream(output);
Documents4jRemoteServices exporter = new Documents4jRemoteServices();
exporter.export(new File(System.getProperty("user.dir")+"/../docx4j-samples-docx4j/sample-docs/sample-docx.docx") , fos, DocumentType.MS_WORD);
fos.close();
}
}