Crear documento de Word enriquecido en Java

En los últimos años, la generación dinámica de documentos de Word se ha convertido en una característica popular para redactar informes, cotizaciones, facturas y otros tipos de documentos. Varias empresas de fabricación generan facturas basadas en los datos almacenados en las bases de datos. En tales casos, la automatización de documentos permite ahorrar tiempo, esfuerzos y recursos necesarios en el proceso de creación manual de documentos. Este artículo tiene como objetivo el proceso de automatización de documentos y le permite saber cómo crear documentos de Word mediante programación en Java.

API de Java para crear documentos de Word

En este artículo, usaremos Aspose.Words for Java, que es una API rica en funciones para crear, editar o convertir documentos de Word en aplicaciones basadas en Java. Puede descargar el JAR de la API o instalarlo usando las siguientes configuraciones de Maven:

Repositorio:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Dependencia:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words</artifactId>
    <version>20.2</version>
    <classifier>jdk17</classifier>
</dependency>

En las siguientes secciones, aprenderá cómo crear un documento de Word que contenga diferentes elementos como texto, párrafo, tabla, lista, imágenes, etc. mediante programación usando Java.

Crear un documento de Word usando Java

La mayoría de las veces, una parte considerable del contenido de un documento de Word se basa en el texto. Por lo tanto, comenzaremos nuestro viaje creando un documento de Word con un encabezado y un párrafo. Los siguientes son los pasos para crear un documento de Word:

  • Primero, cree una instancia de la clase Document.
  • Cree un objeto DocumentBuilder e inicialícelo con el objeto Documento.
  • Utilice la clase Fuente y establezca el tamaño de fuente, la familia, etc.
  • Establece las propiedades del párrafo usando la clase ParagraphFormat.
  • Escriba texto en el documento utilizando el método DocumentBuilder.write().
  • Finalmente, llame al método Document.save() para crear el documento.

El siguiente ejemplo de código muestra cómo crear un documento de Word que contenga texto en Java.

// Crear un objeto de documento
Document doc = new Document();
// Crear un objeto DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Especificar formato de fuente
Font font = builder.getFont();
font.setSize(18);
font.setBold(true);
font.setColor(Color.BLACK);
font.setName("Arial");
builder.write("How to Create a Rich Word Document?");
builder.insertBreak(BreakType.LINE_BREAK);
// Empieza el párrafo
font.setSize(12);
font.setBold(false);
ParagraphFormat paragraphFormat = builder.getParagraphFormat();
paragraphFormat.setFirstLineIndent(12);
paragraphFormat.setKeepTogether(true);
builder.write("This article shows how to create a Word document containing text, images and lists.");
// Guardar el documento
doc.save("Rich Word Document.docx");

Producción

Generar documento de Word en Java

Cree un documento de Word que tenga una tabla usando Java

Las tablas en los documentos de Word se utilizan para organizar el contenido en forma de filas y columnas. En esta sección, crearemos una tabla simple que contiene dos filas y dos columnas. La creación de una tabla incluye cuatro operaciones básicas:

  • Comenzando la mesa
  • Insertar una celda
  • Terminando la fila
  • terminando la mesa

Los siguientes son los pasos para crear una tabla en un documento de Word usando Java:

El siguiente ejemplo muestra cómo crear una tabla en un documento de Word.

// Crear un objeto de documento
Document doc = new Document();
// Crear un objeto DocumentBuilder
DocumentBuilder builder = new DocumentBuilder(doc);
// Crear mesa
Table table = builder.startTable();
// Insertar una celda
builder.insertCell();
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_WINDOW);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("This is Row 1 Cell 1");
builder.insertCell();
builder.write("This is Row 1 Cell 2");
// Fila final
builder.endRow();
// comenzar una siguiente fila y establecer sus propiedades
builder.getRowFormat().setHeight(100);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.insertCell();
builder.write("This is Row 2 Cell 1");
builder.insertCell();
builder.write("This is Row 2 Cell 2");
builder.endRow();
// Mesa final
builder.endTable();
// Guardar el documento
doc.save("Rich Word Document.docx");

Producción

Java genera documento de Word con tabla

Crear una lista en un documento de Word usando Java

Los siguientes son los pasos para agregar una lista al documento de Word.

  • Primero, cree un objeto de la clase Document.
  • Agregue el tipo de lista que desee al documento mediante el método Document.getLists().add().
  • Obtenga la lista del documento en un objeto Lista.
  • Rellene la lista con el objeto DocumentBuilder.
  • Finalmente, guarde el documento.

El siguiente ejemplo de código muestra cómo crear una lista en un documento de Word usando Java.

// Crear un objeto de documento
Document doc = new Document();
doc.getLists().add(ListTemplate.BULLET_CIRCLE);
List list = doc.getLists().get(0);
// Establézcalo en verdadero para especificar que la lista debe reiniciarse en cada sección.
list.isRestartAtEachSection(true);
DocumentBuilder builder = new DocumentBuilder(doc);
builder.getListFormat().setList(list);
for (int i = 1; i < 45; i++) {
	builder.writeln(String.format("List Item " + i));
	// Insertar salto de sección.
	if (i == 15)
		builder.insertBreak(BreakType.SECTION_BREAK_NEW_PAGE);
}
builder.getListFormat().removeNumbers();
// Guardar el documento
doc.save("Rich Word Document.docx");

Producción

Insertar lista en Word docx en Java

Insertar imagen en un documento de Word usando Java

La inserción de una imagen en un documento de Word es tan simple como un pastel. Los siguientes son algunos pasos simples para realizar esta operación:

El siguiente ejemplo de código muestra cómo insertar una imagen en el documento de Word usando Java.

// Crear un objeto de documento
Document doc = new Document();
// Crear generador de documentos
DocumentBuilder builder = new DocumentBuilder(doc);
// Insertar imagen
builder.insertImage("aspose-words.png");
// Guardar el documento
doc.save("Rich Word Document.docx");

Producción

Insertar imagen en Word docx en Java

Conclusión

En este artículo, ha aprendido a crear documentos de Word enriquecidos mediante programación utilizando Java. Además, los ejemplos de código han mostrado cómo agregar texto, tablas, imágenes y listas a documentos de Word. Puede leer más sobre cómo insertar varios elementos en un documento de Word utilizando Aspose.Words for Java.

Pruebe Aspose.Words for Java gratis

Puede obtener una licencia temporal gratuita para probar y usar Aspose.Words for Java sin limitaciones de prueba.

Ver también