Automatización de Microsoft Word: cree, edite o convierta documentos de Word usando Java

La automatización de Word le permite crear nuevos documentos de Word, editar o modificar los existentes, o convertirlos a otros formatos sin usar Microsoft Office. Todas las acciones que podemos realizar a través de la interfaz de usuario de MS Word también se pueden realizar mediante programación utilizando Automatización. En este artículo, aprenderemos cómo automatizar MS Word para crear, editar o convertir documentos de Word usando Java.

En este artículo se tratarán los siguientes temas:

API de Java Word Automation para crear, editar o convertir documentos de Word

Para automatizar Word, utilizaremos la API Aspose.Words for Java. Es una solución de automatización de Word completa y rica en funciones para crear, editar o analizar documentos de Word mediante programación. Descargue el JAR de la API o simplemente agregue la siguiente configuración pom.xml en una aplicación Java basada en Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>21.11</version>
    <type>pom</type>
</dependency>

Crear documentos de Word usando Java

Podemos crear documentos de Word mediante programación siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cree una instancia de la clase Documento. Esta clase representa un documento de Word.
  • A continuación, cree una instancia de la clase DocumentBuilder con el objeto Documento como argumento. Esta clase proporciona métodos para insertar texto, imágenes y otro contenido, especificar fuente, párrafo y formato de sección.
  • Luego, inserte/escriba elementos para agregar texto, párrafos, tablas o imágenes usando el objeto DocumentBuilder.
  • Finalmente, llame al método Document.save() con la ruta del archivo de salida para guardar el archivo creado.

El siguiente ejemplo de código muestra cómo crear un documento de Word (DOCX) usando Java.

// Abra el documento.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Establecer fuente para los siguientes elementos
Font font = builder.getFont();
font.setSize(25);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");

// Insertar texto
builder.writeln("Welcome!");

// Establecer fuente para los siguientes elementos
font.setSize(12);
font.setBold(false);

// Insertar párrafo
builder.writeln("Aspose.Words for Java is a class library that enables your applications to perform a great range of document processing tasks.\r\n"
    + "\r\n"
    + "Aspose.Words supports most of the popular document formats such as DOC, DOCX, RTF, HTML, Markdown, PDF, XPS, EPUB, and others.\r\n"
    + "\r\n"
    + "With Aspose.Words for Java, you can generate, modify, convert, render, and print documents without third-party applications or Office Automation.");
builder.writeln();

font.setBold(true);
builder.writeln("This is a sample table");

font.setBold(false);
// Insertar una tabla
Table table = builder.startTable();
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);

builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);

builder.write("This is row 1 cell 1");
builder.insertCell();
builder.write("This is row 1 cell 2");
builder.endRow();
builder.insertCell();
builder.write("This is row 2 cell 1");
builder.insertCell();
builder.write("This is row 2 cell 2");
builder.endRow();
builder.endTable();
builder.writeln();

// Insertar una imagen
builder.insertImage("C:\\Files\\Words\\words_java.jpg");

// Insertar salto de página 
builder.insertBreak(BreakType.PAGE_BREAK);             
// todos los elementos después del salto de página se insertarán en la página siguiente.

// Guardar el documento
doc.save("C:\\Files\\Words\\document.docx");
Crear documentos de Word usando Java

Crear documentos de Word usando Java.

Edite o modifique documentos de Word usando Java

En la sección anterior, hemos creado un documento de Word. Ahora, editémoslo y cambiemos el contenido del documento. Podemos editar documentos de Word mediante programación siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue un documento de Word utilizando la clase Documento con la ruta del archivo de entrada como argumento.
  • A continuación, acceda a la sección específica por su índice.
  • Luego, acceda al contenido del primer párrafo como un objeto de la clase Ejecutar. La clase Run representa una serie de caracteres con el mismo formato de fuente. Todo el texto del documento se almacena en tiradas de texto.
  • Después de eso, configure el texto para que se actualice para el párrafo al que se accedió.
  • Finalmente, llame al método Document.save() con la ruta del archivo de salida para guardar el archivo actualizado.

El siguiente ejemplo de código muestra cómo editar un documento de Word (DOCX) usando Java.

// Cargar documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Accede al párrafo
Run paragraph = doc.getSections().get(0).getBody().getFirstParagraph().getRuns().get(0);
paragraph.setText("This is updated text");  

// Guardar el documento
doc.save("C:\\Files\\Words\\Document_updated.docx");
Edite o modifique documentos de Word usando Java

Edite o modifique documentos de Word usando Java.

Buscar y reemplazar texto en documentos de Word usando Java

También podemos actualizar el contenido de los documentos de Word utilizando el mecanismo de búsqueda y reemplazo de la API. Podemos hacer esto programáticamente siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue un documento de Word utilizando la clase Documento con la ruta del archivo de entrada como argumento.
  • A continuación, cree una instancia de la clase FindReplaceOptions.
  • Luego, llama al método replace() con la cadena de búsqueda, la cadena de reemplazo y el objeto FindReplaceOptions como argumentos. Este método reemplazará cada ocurrencia de la cadena de búsqueda con la cadena de reemplazo.
  • Finalmente, llame al método Document.save() con la ruta del archivo de salida para guardar el archivo actualizado.

El siguiente ejemplo de código muestra cómo buscar y reemplazar texto específico en un documento de Word (DOCX) usando Java.

// Cargar documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Actualizar usando buscar y reemplazar
// Especifique la cadena de búsqueda y reemplace la cadena usando el método Reemplazar.
doc.getRange().replace("Aspose.Words", "Hello", new FindReplaceOptions());

// Guardar el documento
doc.save("C:\\Files\\Words\\Document_updated.docx");
Buscar y reemplazar texto en documentos de Word usando Java

Buscar y reemplazar texto en documentos de Word usando Java

Convertir documentos de Word usando Java

Podemos convertir documentos de Word a otros formatos como PDF, XPS, EPUB, HTML, JPG, PNG, etc. mediante programación siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue un documento de Word utilizando la clase Documento con la ruta del archivo de entrada como argumento.
  • A continuación, cree una instancia de la clase PdfSaveOptions con el objeto Document como argumento. Esta clase proporciona opciones adicionales al guardar un documento en PDF.
  • Luego, especifique el nivel de cumplimiento de los estándares de PDF para el documento de salida configurando PdfSaveOptions.Compliance en PdfCompliance.PDF17.
  • Finalmente, llame al método Document.save() con la ruta del archivo de salida y el objeto PdfSaveOptions como argumento para guardar el archivo PDF.

El siguiente ejemplo de código muestra cómo convertir un documento de Word (DOCX) a PDF usando Java.

// Cargar documento
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Proporcione el cumplimiento de PDFSaveOption a PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.setCompliance(PdfCompliance.PDF_17);

// Convertir Word a PDF
doc.save("C:\\Files\\Words\\output.pdf", options);
Convierte documentos de Word a PDF.

Convertir documentos de Word usando Java

Analizar documentos de Word usando Java

Podemos analizar documentos de Word y extraer el contenido como texto sin formato mediante programación siguiendo los pasos que se detallan a continuación:

  • Cargue un documento de Word utilizando la clase Documento con la ruta del archivo de entrada como argumento.
  • Llame al método Document.save() para guardar el documento de Word como un archivo de texto. Este método toma la ruta del archivo de salida como argumento.

El siguiente ejemplo de código muestra cómo analizar un documento de Word (DOCX) usando Java.

// Cargue el documento desde el disco.
Document doc = new Document("C:\\Files\\Words\\document.docx");

// Guardar como texto sin formato 
doc.save("C:\\Files\\Words\\output.txt");
Extraiga texto de documentos de Word.

Analizar documentos de Word usando Java.

Obtenga una licencia gratis

Pruebe la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, hemos aprendido cómo automatizar Word para crear, editar o convertir documentos de Word usando Java. También hemos visto cómo buscar y reemplazar texto en documentos de Word mediante programación. Además, puede obtener más información sobre Aspose.Words para la API de Java utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también